ASoC: sta32x: add missed function calls in error paths

sta32x_probe() forgets to call undo functions when it fails, add
the missed function calls to fix it.

Signed-off-by: Chuhong Yuan <hslester96@gmail.com>
Link: https://lore.kernel.org/r/20200528102004.911653-1-hslester96@gmail.com
Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
Chuhong Yuan 2020-05-28 18:20:04 +08:00 committed by Mark Brown
parent a50067d4f3
commit 8dc1011470
No known key found for this signature in database
GPG Key ID: 24D68B725D5487D0

View File

@ -893,13 +893,13 @@ static int sta32x_probe(struct snd_soc_component *component)
sta32x->supplies);
if (ret != 0) {
dev_err(component->dev, "Failed to enable supplies: %d\n", ret);
return ret;
goto err_clk_disable_unprepare;
}
ret = sta32x_startup_sequence(sta32x);
if (ret < 0) {
dev_err(component->dev, "Failed to startup device\n");
return ret;
goto err_regulator_bulk_disable;
}
/* CONFA */
@ -983,6 +983,13 @@ static int sta32x_probe(struct snd_soc_component *component)
regulator_bulk_disable(ARRAY_SIZE(sta32x->supplies), sta32x->supplies);
return 0;
err_regulator_bulk_disable:
regulator_bulk_disable(ARRAY_SIZE(sta32x->supplies), sta32x->supplies);
err_clk_disable_unprepare:
if (sta32x->xti_clk)
clk_disable_unprepare(sta32x->xti_clk);
return ret;
}
static void sta32x_remove(struct snd_soc_component *component)