aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCharles Keepax <ckeepax@opensource.wolfsonmicro.com>2015-06-26 05:39:43 -0400
committerMark Brown <broonie@kernel.org>2015-06-26 07:46:55 -0400
commitffacb48e5a4665d3d7286babb38a5af855a36bc0 (patch)
treeafb9f0ec0d5faaa947a4d05d265408c23d95f85d
parent11e688862c4c8162119a4ca51c3326555966c8bb (diff)
ASoC: dapm: Fix deadlock on auto-disable mux controls
The commit 02aa78abec6e ("ASoC: DAPM: Add APIs to create individual DAPM controls.") added locking to the snd_soc_dapm_new_control function but did not update the call to snd_soc_dapm_new_control in the auto-disable mux code, this appears to be because the patches were sent at fairly similar times. This patch change the call in the auto-disable mux code to use the new snd_soc_dapm_new_control_unlocked function instead. Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com> Signed-off-by: Mark Brown <broonie@kernel.org>
-rw-r--r--sound/soc/soc-dapm.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/sound/soc/soc-dapm.c b/sound/soc/soc-dapm.c
index aa327c92480c..a47a8ce7a5ea 100644
--- a/sound/soc/soc-dapm.c
+++ b/sound/soc/soc-dapm.c
@@ -389,8 +389,8 @@ static int dapm_kcontrol_data_alloc(struct snd_soc_dapm_widget *widget,
389 389
390 data->value = template.on_val; 390 data->value = template.on_val;
391 391
392 data->widget = snd_soc_dapm_new_control(widget->dapm, 392 data->widget = snd_soc_dapm_new_control_unlocked(
393 &template); 393 widget->dapm, &template);
394 if (!data->widget) { 394 if (!data->widget) {
395 ret = -ENOMEM; 395 ret = -ENOMEM;
396 goto err_name; 396 goto err_name;