[alsa-devel] [PATCH 10/17] Don't lock the codec list in snd_soc_dapm_new_widgets()

Mark Brown broonie at opensource.wolfsonmicro.com
Thu Jan 10 14:17:08 CET 2008

snd_soc_dapm_new_widgets() takes the codec lock when adding new widgets,
causing lockdep warnings when applications later call down through ALSA
to adjust controls.  Since widgets are only added during probe this lock
should be unneeded so don't take it.

Thanks to Dmitry Baryshkov <dbaryshkov at gmail.com> for reporting this issue.

Signed-off-by: Mark Brown <broonie at opensource.wolfsonmicro.com>
Cc: Dmitry Baryshkov <dbaryshkov at gmail.com>
 sound/soc/soc-dapm.c |    2 --
 1 files changed, 0 insertions(+), 2 deletions(-)

diff --git a/sound/soc/soc-dapm.c b/sound/soc/soc-dapm.c
index a4ce882..f99cac1 100644
--- a/sound/soc/soc-dapm.c
+++ b/sound/soc/soc-dapm.c
@@ -972,7 +972,6 @@ int snd_soc_dapm_new_widgets(struct snd_soc_codec *codec)
 	struct snd_soc_dapm_widget *w;
-	mutex_lock(&codec->mutex);
 	list_for_each_entry(w, &codec->dapm_widgets, list)
 		if (w->new)
@@ -1007,7 +1006,6 @@ int snd_soc_dapm_new_widgets(struct snd_soc_codec *codec)
 	dapm_power_widgets(codec, SND_SOC_DAPM_STREAM_NOP);
-	mutex_unlock(&codec->mutex);
 	return 0;

More information about the Alsa-devel mailing list