summaryrefslogtreecommitdiff
path: root/0006-ALSA-hda-hdmi-fix-incorrect-mutex-unlock-in-silent_stream_disable.patch
diff options
context:
space:
mode:
Diffstat (limited to '0006-ALSA-hda-hdmi-fix-incorrect-mutex-unlock-in-silent_stream_disable.patch')
-rw-r--r--0006-ALSA-hda-hdmi-fix-incorrect-mutex-unlock-in-silent_stream_disable.patch36
1 files changed, 36 insertions, 0 deletions
diff --git a/0006-ALSA-hda-hdmi-fix-incorrect-mutex-unlock-in-silent_stream_disable.patch b/0006-ALSA-hda-hdmi-fix-incorrect-mutex-unlock-in-silent_stream_disable.patch
new file mode 100644
index 0000000..8de04e9
--- /dev/null
+++ b/0006-ALSA-hda-hdmi-fix-incorrect-mutex-unlock-in-silent_stream_disable.patch
@@ -0,0 +1,36 @@
+From 3d5c5fdcee0f9a94deb0472e594706018b00aa31 Mon Sep 17 00:00:00 2001
+From: Takashi Iwai <tiwai@suse.de>
+Date: Fri, 1 Jan 2021 09:38:52 +0100
+Subject: ALSA: hda/hdmi: Fix incorrect mutex unlock in silent_stream_disable()
+
+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 | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/sound/pci/hda/patch_hdmi.c b/sound/pci/hda/patch_hdmi.c
+index 1e4a4b83fbf6f..74d246a0dc6de 100644
+--- a/sound/pci/hda/patch_hdmi.c
++++ b/sound/pci/hda/patch_hdmi.c
+@@ -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 */
+--
+cgit 1.2.3-1.el7
+