diff mbox

[1/2] ASoC: wm8962: Disable clock if wm8962_runtime_resume() fails

Message ID 1459164679-17961-1-git-send-email-festevam@gmail.com (mailing list archive)
State Accepted
Commit 65147846796bd443972d9055b3b4c1339e15d53a
Headers show

Commit Message

Fabio Estevam March 28, 2016, 11:31 a.m. UTC
From: Fabio Estevam <fabio.estevam@nxp.com>

When regulator_bulk_enable() fails inside wm8962_runtime_resume(),
we should disable the previously enabled clock.

Signed-off-by: Fabio Estevam <fabio.estevam@nxp.com>
---
 sound/soc/codecs/wm8962.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

Comments

Charles Keepax March 28, 2016, 12:56 p.m. UTC | #1
On Mon, Mar 28, 2016 at 08:31:18AM -0300, Fabio Estevam wrote:
> From: Fabio Estevam <fabio.estevam@nxp.com>
> 
> When regulator_bulk_enable() fails inside wm8962_runtime_resume(),
> we should disable the previously enabled clock.
> 
> Signed-off-by: Fabio Estevam <fabio.estevam@nxp.com>
> ---

Acked-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>

Thanks,
Charles
diff mbox

Patch

diff --git a/sound/soc/codecs/wm8962.c b/sound/soc/codecs/wm8962.c
index 8822360..f3f71ba 100644
--- a/sound/soc/codecs/wm8962.c
+++ b/sound/soc/codecs/wm8962.c
@@ -3800,7 +3800,7 @@  static int wm8962_runtime_resume(struct device *dev)
 	if (ret != 0) {
 		dev_err(dev,
 			"Failed to enable supplies: %d\n", ret);
-		return ret;
+		goto disable_clock;
 	}
 
 	regcache_cache_only(wm8962->regmap, false);
@@ -3838,6 +3838,10 @@  static int wm8962_runtime_resume(struct device *dev)
 	msleep(5);
 
 	return 0;
+
+disable_clock:
+	clk_disable_unprepare(wm8962->pdata.mclk);
+	return ret;
 }
 
 static int wm8962_runtime_suspend(struct device *dev)