18 Aug
2021
18 Aug
'21
5:53 p.m.
a) we have to use request_module()
Wait, why?
module loading is async, use auto-loading when the hardware/device is found and reported to userspace. Forcing a module to load by the kernel is not always wise as the module is not always present in the filesystem at that point in time at boot (think modules on the filesystem, not in the initramfs).
Try fixing this issue and maybe it will resolve itself as you should be working async.
It's been that way for a very long time (2015?) for HDAudio support, see sound/pci/hda/hda_bind.c. It's my understanding that it was a conscious design decision to use vendor-specific modules, if available, and fallback to generic modules if the first pass failed.
Takashi, you may want to chime in...