ASoC: pcm512x: Fix unbalanced regulator enable call in probe error path
When we get a clock error during probe we have to call
regulator_bulk_disable before bailing out, otherwise we trigger
a warning in regulator_put.
Fix this by using "goto err" like in the error cases above.
Fixes: 5a3af12931
("ASoC: pcm512x: Add PCM512x driver")
Signed-off-by: Matthias Reichl <hias@horus.com>
Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Link: https://lore.kernel.org/r/20200220202956.29233-1-hias@horus.com
Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
63d68382f5
commit
ac0a689979
|
@ -1564,13 +1564,15 @@ int pcm512x_probe(struct device *dev, struct regmap *regmap)
|
||||||
}
|
}
|
||||||
|
|
||||||
pcm512x->sclk = devm_clk_get(dev, NULL);
|
pcm512x->sclk = devm_clk_get(dev, NULL);
|
||||||
if (PTR_ERR(pcm512x->sclk) == -EPROBE_DEFER)
|
if (PTR_ERR(pcm512x->sclk) == -EPROBE_DEFER) {
|
||||||
return -EPROBE_DEFER;
|
ret = -EPROBE_DEFER;
|
||||||
|
goto err;
|
||||||
|
}
|
||||||
if (!IS_ERR(pcm512x->sclk)) {
|
if (!IS_ERR(pcm512x->sclk)) {
|
||||||
ret = clk_prepare_enable(pcm512x->sclk);
|
ret = clk_prepare_enable(pcm512x->sclk);
|
||||||
if (ret != 0) {
|
if (ret != 0) {
|
||||||
dev_err(dev, "Failed to enable SCLK: %d\n", ret);
|
dev_err(dev, "Failed to enable SCLK: %d\n", ret);
|
||||||
return ret;
|
goto err;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue