Latest working kernel version: 2.6.28
Earliest failing kernel version: 2.6.28-git1
Hardware Environment: Packard Bell Easynote MB86, Intel Corporation 82801H (ICH8 Family) HD Audio Controller
Software Environment: Gentoo
When I shut down my computer, the process hangs at "unloading alsa modules", when alsasound is stopped. I have noticed that this hang is due to the fact that this script tries to unload snd-hda-codec-conexant when snd-hda-intel is not unloaded. Since this module uses snd-hda-codec-conexant, it can't be unloaded.
Is there a way to force the order in which the modules are unloaded ? All alsa modules can be unloaded if the correct order is respected (in particular if snd-hda-intel is unloaded before snd-hda-codec-conexant)
Steps to reproduce: run /etc/init.d/alsasound stop
This is actually a problem of alsasound init script on your system. It tries to unload the module that is being used without checking the usage count. It means that script might be broken for the other driver like snd-aoa, too.
The unloading works if it first unload snd-hda-intel, then others.
BTW, you don't need to unload the modules at shutdown at all... For example, SUSE init script has some tricks to avoid that.
You can set UNLOAD_ON_STOP to "no" in /etc/conf.d/alsasound I'm guessing to avoid this bug.
That's indeed what I have done to avoid the problem.
*** Bug 12448 has been marked as a duplicate of this bug. ***
entry for Gentoo init script bug:
*** Bug 13018 has been marked as a duplicate of this bug. ***