mirror of
https://github.com/torvalds/linux.git
synced 2026-07-01 10:34:00 +02:00
trident_write_voice_regs() was getting called with the card spinlock held in only some cases. Fix it. Explanation: we allocate a new virtual channel in open, and then we frob some hardware registers (in write_voice_regs) for that channel. But the hardware registers are shared with other channels, which may be trying to frob the some registers (albeit for another channel) via ioctl(SNDCTL_DSP_SPEED). Fixed bugzilla.kernel.org bug #8172 (http://bugme.osdl.org/show_bug.cgi?id=8172) Signed-off-by: Muli Ben-Yehuda <muli@il.ibm.com> Cc: <tammy000@gmail.com> Cc: <bunk@stusta.de> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> |
||
|---|---|---|
| .. | ||
| aoa | ||
| arm | ||
| core | ||
| drivers | ||
| i2c | ||
| isa | ||
| mips | ||
| oss | ||
| parisc | ||
| pci | ||
| pcmcia | ||
| ppc | ||
| soc | ||
| sparc | ||
| synth | ||
| usb | ||
| ac97_bus.c | ||
| Kconfig | ||
| last.c | ||
| Makefile | ||
| sound_core.c | ||
| sound_firmware.c | ||