Re: [PATCH] ASoC: pcm512x: Fix unbalanced regulator enable call in probe error path

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





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@xxxxxxxxx>

LGTM:

Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@xxxxxxxxxxxxxxx>

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



[Index of Archives]     [ALSA User]     [Linux Audio Users]     [Pulse Audio]     [Kernel Archive]     [Asterisk PBX]     [Photo Sharing]     [Linux Sound]     [Video 4 Linux]     [Gimp]     [Yosemite News]

  Powered by Linux