From: Charles Keepax Date: Fri, 26 Jun 2015 09:39:43 +0000 (+0100) Subject: ASoC: dapm: Fix deadlock on auto-disable mux controls X-Git-Tag: v4.2-rc5~11^2~9^2~5^2~4 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=ffacb48e5a4665d3d7286babb38a5af855a36bc0;p=platform%2Fkernel%2Flinux-exynos.git 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 Signed-off-by: Mark Brown --- diff --git a/sound/soc/soc-dapm.c b/sound/soc/soc-dapm.c index aa327c9..a47a8ce 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, data->value = template.on_val; - data->widget = snd_soc_dapm_new_control(widget->dapm, - &template); + data->widget = snd_soc_dapm_new_control_unlocked( + widget->dapm, &template); if (!data->widget) { ret = -ENOMEM; goto err_name;