[PATCH] ASoC: pcm512x: Fix unbalanced regulator enable call in probe error path
Pierre-Louis Bossart
pierre-louis.bossart at linux.intel.com
Thu Feb 20 21:54:58 CET 2020
On 2/20/20 2:29 PM, Matthias Reichl wrote:
> 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: 5a3af1293194d ("ASoC: pcm512x: Add PCM512x driver")
> Signed-off-by: Matthias Reichl <hias at horus.com>
LGTM:
Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart at linux.intel.com>
> ---
> sound/soc/codecs/pcm512x.c | 8 +++++---
> 1 file changed, 5 insertions(+), 3 deletions(-)
>
> diff --git a/sound/soc/codecs/pcm512x.c b/sound/soc/codecs/pcm512x.c
> index 861210f6bf4fd..4cbef9affffda 100644
> --- a/sound/soc/codecs/pcm512x.c
> +++ b/sound/soc/codecs/pcm512x.c
> @@ -1564,13 +1564,15 @@ int pcm512x_probe(struct device *dev, struct regmap *regmap)
> }
>
> pcm512x->sclk = devm_clk_get(dev, NULL);
> - if (PTR_ERR(pcm512x->sclk) == -EPROBE_DEFER)
> - return -EPROBE_DEFER;
> + if (PTR_ERR(pcm512x->sclk) == -EPROBE_DEFER) {
> + ret = -EPROBE_DEFER;
> + goto err;
> + }
> if (!IS_ERR(pcm512x->sclk)) {
> ret = clk_prepare_enable(pcm512x->sclk);
> if (ret != 0) {
> dev_err(dev, "Failed to enable SCLK: %d\n", ret);
> - return ret;
> + goto err;
> }
> }
>
>
More information about the Alsa-devel
mailing list