]> git.baikalelectronics.ru Git - kernel.git/commit
ALSA: mixart: Fix mutex deadlock
authorTakashi Iwai <tiwai@suse.de>
Thu, 19 Nov 2020 12:14:40 +0000 (13:14 +0100)
committerTakashi Iwai <tiwai@suse.de>
Thu, 19 Nov 2020 17:26:30 +0000 (18:26 +0100)
commit384f306ee9adaf7f001edc6ca54a9bd0e87237b4
treed63676bc314235e78d3f730fb990339348626a83
parent1d70a604f15dae4b7ae8303774ecdd185d1789c0
ALSA: mixart: Fix mutex deadlock

The code change for switching to non-atomic mode brought the
unexpected mutex deadlock in get_msg().  It converted the spinlock
with the existing mutex, but there were calls with the already holding
the mutex.  Since the only place that needs the extra lock is the code
path from snd_mixart_send_msg(), remove the mutex lock in get_msg()
and apply in the caller side for fixing the mutex deadlock.

Fixes: 066f95ca97ad ("ALSA: mixart: Use nonatomic PCM ops")
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Cc: <stable@vger.kernel.org>
Link: https://lore.kernel.org/r/20201119121440.18945-1-tiwai@suse.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/pci/mixart/mixart_core.c