diff options
author | Takashi Iwai <tiwai@suse.de> | 2014-10-14 01:18:02 +0400 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2014-10-14 11:18:02 +0400 |
commit | 95926035b187cc9fee6fb61385b7da9c28123f74 (patch) | |
tree | 06f381609dd013ede40038643916a0d5deade923 /sound/isa | |
parent | 811deedebab38f8360a700a52b0b75688c9a10f7 (diff) | |
download | linux-95926035b187cc9fee6fb61385b7da9c28123f74.tar.xz |
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/isa')
0 files changed, 0 insertions, 0 deletions