1
0
Fork 0
alistair23-linux/sound/pci/emu10k1
Takashi Iwai 95926035b1 ALSA: emu10k1: Fix deadlock in synth voice lookup
The emu10k1 voice allocator takes voice_lock spinlock.  When there is
no empty stream available, it tries to release a voice used by synth,
and calls get_synth_voice.  The callback function,
snd_emu10k1_synth_get_voice(), however, also takes the voice_lock,
thus it deadlocks.

The fix is simply removing the voice_lock holds in
snd_emu10k1_synth_get_voice(), as this is always called in the
spinlock context.

Reported-and-tested-by: Arthur Marsh <arthur.marsh@internode.on.net>
Cc: <stable@vger.kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2014-10-14 09:18:02 +02:00
..
Makefile ALSA: clean up the logic for building sequencer modules 2009-05-29 11:49:42 +02:00
emu10k1.c PCI: Remove DEFINE_PCI_DEVICE_TABLE macro use 2014-08-12 12:15:14 -06:00
emu10k1_callback.c ALSA: emu10k1: Fix deadlock in synth voice lookup 2014-10-14 09:18:02 +02:00
emu10k1_main.c ALSA: emu10k1: Use standard printk helpers 2014-02-26 16:45:27 +01:00
emu10k1_patch.c ALSA: emu10k1: Use standard printk helpers 2014-02-26 16:45:27 +01:00
emu10k1_synth.c sound: Add module.h to the previously silent sound users 2011-10-31 19:31:21 -04:00
emu10k1_synth_local.h [ALSA] Remove sound/driver.h 2008-01-31 17:29:48 +01:00
emu10k1x.c PCI: Remove DEFINE_PCI_DEVICE_TABLE macro use 2014-08-12 12:15:14 -06:00
emufx.c ALSA: emu10k1: Use standard printk helpers 2014-02-26 16:45:27 +01:00
emumixer.c ALSA: emu10k1: Use standard printk helpers 2014-02-26 16:45:27 +01:00
emumpu401.c ALSA: emu10k1: Use standard printk helpers 2014-02-26 16:45:27 +01:00
emupcm.c ALSA: emu10k1: Use standard printk helpers 2014-02-26 16:45:27 +01:00
emuproc.c ALSA: pci: remove __dev* attributes 2012-12-07 07:20:55 +01:00
io.c ALSA: emu10k1: Fix possible NULL dereference 2014-03-05 12:15:56 +01:00
irq.c ALSA: emu10k1: Use standard printk helpers 2014-02-26 16:45:27 +01:00
memory.c ALSA: emu10k1: Use standard printk helpers 2014-02-26 16:45:27 +01:00
p16v.c ALSA: emu10k1: Use standard printk helpers 2014-02-26 16:45:27 +01:00
p16v.h Fix common misspellings 2011-03-31 11:26:23 -03:00
p17v.h [ALSA] emu10k1: Add Audio capture support for Audigy 2 ZS Notebook. 2007-02-09 09:02:17 +01:00
timer.c ALSA: pci: remove __dev* attributes 2012-12-07 07:20:55 +01:00
tina2.h [ALSA] emu10k1: Add support for Audigy4 (not Pro) 2006-06-22 21:32:37 +02:00
voice.c ALSA: emu10k1: Use standard printk helpers 2014-02-26 16:45:27 +01:00