diff options
author | Charles Keepax <ckeepax@opensource.wolfsonmicro.com> | 2015-06-26 05:39:43 -0400 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2015-06-26 07:46:55 -0400 |
commit | ffacb48e5a4665d3d7286babb38a5af855a36bc0 (patch) | |
tree | afb9f0ec0d5faaa947a4d05d265408c23d95f85d | |
parent | 11e688862c4c8162119a4ca51c3326555966c8bb (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.c | 4 |
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; |