diff options
author | Takashi Iwai <tiwai@suse.de> | 2014-10-13 23:18:02 +0200 |
---|---|---|
committer | Ben Hutchings <ben@decadent.org.uk> | 2014-12-14 16:23:48 +0000 |
commit | 9aaf9678ea3ea80416fa5c8f389f76c497038d89 (patch) | |
tree | e7d828691f073751788a549b0260730be00f2a92 /security | |
parent | 46cf7e22a4978af2710cca32ed0354c5982765c9 (diff) | |
download | kernel_samsung_smdk4412-9aaf9678ea3ea80416fa5c8f389f76c497038d89.zip kernel_samsung_smdk4412-9aaf9678ea3ea80416fa5c8f389f76c497038d89.tar.gz kernel_samsung_smdk4412-9aaf9678ea3ea80416fa5c8f389f76c497038d89.tar.bz2 |
ALSA: emu10k1: Fix deadlock in synth voice lookup
commit 95926035b187cc9fee6fb61385b7da9c28123f74 upstream.
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>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Diffstat (limited to 'security')
0 files changed, 0 insertions, 0 deletions