mirror of
https://github.com/FEX-Emu/linux.git
synced 2024-12-16 22:10:24 +00:00
ASoC: dapm: release lock on error paths
We added locking here but there were a couple error paths where we forgot to drop the lock before returning. Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
This commit is contained in:
parent
7203a62562
commit
60884c2767
@ -2131,7 +2131,7 @@ err:
|
||||
int snd_soc_dapm_add_routes(struct snd_soc_dapm_context *dapm,
|
||||
const struct snd_soc_dapm_route *route, int num)
|
||||
{
|
||||
int i, ret;
|
||||
int i, ret = 0;
|
||||
|
||||
mutex_lock_nested(&dapm->card->dapm_mutex, SND_SOC_DAPM_CLASS_INIT);
|
||||
for (i = 0; i < num; i++) {
|
||||
@ -2139,13 +2139,13 @@ int snd_soc_dapm_add_routes(struct snd_soc_dapm_context *dapm,
|
||||
if (ret < 0) {
|
||||
dev_err(dapm->dev, "Failed to add route %s->%s\n",
|
||||
route->source, route->sink);
|
||||
return ret;
|
||||
break;
|
||||
}
|
||||
route++;
|
||||
}
|
||||
mutex_unlock(&dapm->card->dapm_mutex);
|
||||
|
||||
return 0;
|
||||
return ret;
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(snd_soc_dapm_add_routes);
|
||||
|
||||
@ -2849,6 +2849,7 @@ int snd_soc_dapm_new_controls(struct snd_soc_dapm_context *dapm,
|
||||
{
|
||||
struct snd_soc_dapm_widget *w;
|
||||
int i;
|
||||
int ret = 0;
|
||||
|
||||
mutex_lock_nested(&dapm->card->dapm_mutex, SND_SOC_DAPM_CLASS_INIT);
|
||||
for (i = 0; i < num; i++) {
|
||||
@ -2857,12 +2858,13 @@ int snd_soc_dapm_new_controls(struct snd_soc_dapm_context *dapm,
|
||||
dev_err(dapm->dev,
|
||||
"ASoC: Failed to create DAPM control %s\n",
|
||||
widget->name);
|
||||
return -ENOMEM;
|
||||
ret = -ENOMEM;
|
||||
break;
|
||||
}
|
||||
widget++;
|
||||
}
|
||||
mutex_unlock(&dapm->card->dapm_mutex);
|
||||
return 0;
|
||||
return ret;
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(snd_soc_dapm_new_controls);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user