lkml.org 
[lkml]   [2020]   [Mar]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.14 115/126] ASoC: pcm512x: Fix unbalanced regulator enable call in probe error path
    Date
    From: Matthias Reichl <hias@horus.com>

    commit ac0a68997935c4acb92eaae5ad8982e0bb432d56 upstream.

    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@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>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

    ---
    sound/soc/codecs/pcm512x.c | 8 +++++---
    1 file changed, 5 insertions(+), 3 deletions(-)

    --- a/sound/soc/codecs/pcm512x.c
    +++ b/sound/soc/codecs/pcm512x.c
    @@ -1438,13 +1438,15 @@ int pcm512x_probe(struct device *dev, st
    }

    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;
    }
    }


    \
     
     \ /
      Last update: 2020-03-10 14:11    [W:4.030 / U:0.660 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site