On Wed, Aug 18, 2021 at 10:53:07AM -0500, Pierre-Louis Bossart wrote: > > > > >> 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. If it has been this way for so long, what has caused the sudden change to need to export this and call this function?