From: Muli Ben-Yehuda Date: Tue, 17 Jul 2007 11:05:15 +0000 (-0700) Subject: OSS trident: fix locking around write_voice_regs X-Git-Tag: v2.6.23-rc1~616 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3b20b9b4e985fcc48b4eea401cb289a856422c93;p=pandora-kernel.git OSS trident: fix locking around write_voice_regs 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 Cc: Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- Reading git-diff-tree failed