Don't bother. Both myself and another person whose name escapes
me have posted fixes. It's just that the fix hasn't made it from
Alan to Linus yet.
The bug is that someone inserted some tests before sb_dsp_unload()
would unload the mixer and midi devices. Unfortunately, the tests
are both unnecessary and incorrectly coded. The end result is that
these devices may not get unloaded, leaving soundcore with a non-zero
reference count.
Below you'll find the fix I'm using since 2.1.122 or so.
Cheers,
/Mikael
[Alan: I notice you only applied the first part of the fix to
2.1.125-ac1 and the new modular sound patch for 2.0.36.
I'm 99.99% certain the second part should also be applied.]
--- linux/drivers/sound/sb_common.c.~1~ Fri Sep 11 01:37:26 1998
+++ linux/drivers/sound/sb_common.c Mon Oct 12 14:09:12 1998
@@ -954,12 +954,11 @@
if (!(devc->caps & SB_NO_AUDIO && devc->caps & SB_NO_MIDI) && devc->irq > 0)
{
free_irq(devc->irq, devc);
- if (devc->my_mixerdev)
- sound_unload_mixerdev(devc->my_mixerdev);
+ sound_unload_mixerdev(devc->my_mixerdev);
/* We don't have to do this bit any more the UART401 is its own
master -- Krzysztof Halasa */
/* But we have to do it, if UART401 is not detected */
- if (!sbmpu && devc->my_mididev)
+ if (!sbmpu)
sound_unload_mididev(devc->my_mididev);
sound_unload_audiodev(devc->my_dev);
}
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/