diff options
author | Takashi Iwai <tiwai@suse.de> | 2014-10-13 23:18:02 +0200 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2014-10-14 09:18:02 +0200 |
commit | 95926035b187cc9fee6fb61385b7da9c28123f74 (patch) | |
tree | 06f381609dd013ede40038643916a0d5deade923 /sound/pci/hda/hda_trace.h | |
parent | 811deedebab38f8360a700a52b0b75688c9a10f7 (diff) |
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>
Diffstat (limited to 'sound/pci/hda/hda_trace.h')
0 files changed, 0 insertions, 0 deletions