ALSA: hda/hdmi: Fix incorrect mutex unlock in silent_stream_disable()
authorTakashi Iwai <tiwai@suse.de>
Fri, 1 Jan 2021 08:38:52 +0000 (09:38 +0100)
committerTakashi Iwai <tiwai@suse.de>
Fri, 1 Jan 2021 20:08:53 +0000 (21:08 +0100)
The silent_stream_disable() function introduced by the commit
b1a5039759cb ("ALSA: hda/hdmi: fix silent stream for first playback to
DP") takes the per_pin->lock mutex, but it unlocks the wrong one,
spec->pcm_lock, which causes a deadlock.  This patch corrects it.

Fixes: b1a5039759cb ("ALSA: hda/hdmi: fix silent stream for first playback to DP")
Reported-by: Jan Alexander Steffens (heftig) <heftig@archlinux.org>
Cc: <stable@vger.kernel.org>
Acked-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
Link: https://lore.kernel.org/r/20210101083852.12094-1-tiwai@suse.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/pci/hda/patch_hdmi.c

index 1e4a4b83fbf6fe246403ae4de7ae84710accea72..74d246a0dc6de2cedfa8f24ccb9d8378d7e3bf84 100644 (file)
@@ -1733,7 +1733,7 @@ static void silent_stream_disable(struct hda_codec *codec,
        per_pin->silent_stream = false;
 
  unlock_out:
-       mutex_unlock(&spec->pcm_lock);
+       mutex_unlock(&per_pin->lock);
 }
 
 /* update ELD and jack state via audio component */