+++ /dev/null
-From bb57e4429e9e44463876fb72270d370e03c130d3 Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Tue, 16 Nov 2021 08:13:12 +0100
-Subject: ALSA: jack: Add missing rwsem around snd_ctl_remove() calls
-
-From: Takashi Iwai <tiwai@suse.de>
-
-[ Upstream commit 06764dc931848c3a9bc01a63bbf76a605408bb54 ]
-
-snd_ctl_remove() has to be called with card->controls_rwsem held (when
-called after the card instantiation). This patch add the missing
-rwsem calls around it.
-
-Fixes: 9058cbe1eed2 ("ALSA: jack: implement kctl creating for jack devices")
-Link: https://lore.kernel.org/r/20211116071314.15065-1-tiwai@suse.de
-Signed-off-by: Takashi Iwai <tiwai@suse.de>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- sound/core/jack.c | 3 +++
- 1 file changed, 3 insertions(+)
-
-diff --git a/sound/core/jack.c b/sound/core/jack.c
-index fcc972fbe8ffd..ecbdac88f95ad 100644
---- a/sound/core/jack.c
-+++ b/sound/core/jack.c
-@@ -64,10 +64,13 @@ static int snd_jack_dev_free(struct snd_device *device)
- struct snd_card *card = device->card;
- struct snd_jack_kctl *jack_kctl, *tmp_jack_kctl;
-
-+ down_write(&card->controls_rwsem);
- list_for_each_entry_safe(jack_kctl, tmp_jack_kctl, &jack->kctl_list, list) {
- list_del_init(&jack_kctl->list);
- snd_ctl_remove(card, jack_kctl->kctl);
- }
-+ up_write(&card->controls_rwsem);
-+
- if (jack->private_free)
- jack->private_free(jack);
-
---
-2.34.1
-