summarylogtreecommitdiffstats
path: root/0007-ALSA-hda-hdmi-fix-locking-in-silent_stream_disable.patch
diff options
context:
space:
mode:
Diffstat (limited to '0007-ALSA-hda-hdmi-fix-locking-in-silent_stream_disable.patch')
-rw-r--r--0007-ALSA-hda-hdmi-fix-locking-in-silent_stream_disable.patch26
1 files changed, 26 insertions, 0 deletions
diff --git a/0007-ALSA-hda-hdmi-fix-locking-in-silent_stream_disable.patch b/0007-ALSA-hda-hdmi-fix-locking-in-silent_stream_disable.patch
new file mode 100644
index 000000000000..e06f6ce72ea0
--- /dev/null
+++ b/0007-ALSA-hda-hdmi-fix-locking-in-silent_stream_disable.patch
@@ -0,0 +1,26 @@
+From 00f09a6a8193b46c83ae1c8ff6623db011f90099 Mon Sep 17 00:00:00 2001
+From: "Jan Alexander Steffens (heftig)" <heftig@archlinux.org>
+Date: Fri, 1 Jan 2021 06:20:32 +0100
+Subject: [PATCH 7/8] ALSA: hda/hdmi: fix locking in silent_stream_disable
+
+The code unlocked the wrong lock, leading to deadlocks.
+---
+ 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 2ddc27db8c01..d12b4799c3cb 100644
+--- a/sound/pci/hda/patch_hdmi.c
++++ b/sound/pci/hda/patch_hdmi.c
+@@ -1736,7 +1736,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 */
+--
+2.30.0
+