Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
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 <[email protected]> Cc: <[email protected]> Signed-off-by: Takashi Iwai <[email protected]>
- Loading branch information