From: Takashi Iwai Date: Mon, 13 Oct 2014 21:18:02 +0000 (+0200) Subject: ALSA: emu10k1: Fix deadlock in synth voice lookup X-Git-Tag: fixes-against-v3.18-rc2~34^2~1 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=95926035b187cc9fee6fb61385b7da9c28123f74;p=pandora-kernel.git 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 Cc: Signed-off-by: Takashi Iwai --- Reading git-diff-tree failed