aboutsummaryrefslogtreecommitdiffstats
path: root/sound
diff options
context:
space:
mode:
authorFabio Estevam <fabio.estevam@nxp.com>2016-03-28 07:31:18 -0400
committerMark Brown <broonie@kernel.org>2016-03-29 13:02:24 -0400
commit65147846796bd443972d9055b3b4c1339e15d53a (patch)
treea0e5a44f67ff8ac3d3e74562f9f11d5703073202 /sound
parentf55532a0c0b8bb6148f4e07853b876ef73bc69ca (diff)
ASoC: wm8962: Disable clock if wm8962_runtime_resume() fails
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> Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'sound')
-rw-r--r--sound/soc/codecs/wm8962.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/sound/soc/codecs/wm8962.c b/sound/soc/codecs/wm8962.c
index 88223608a33f..f3f71ba0ed12 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)
3800 if (ret != 0) { 3800 if (ret != 0) {
3801 dev_err(dev, 3801 dev_err(dev,
3802 "Failed to enable supplies: %d\n", ret); 3802 "Failed to enable supplies: %d\n", ret);
3803 return ret; 3803 goto disable_clock;
3804 } 3804 }
3805 3805
3806 regcache_cache_only(wm8962->regmap, false); 3806 regcache_cache_only(wm8962->regmap, false);
@@ -3838,6 +3838,10 @@ static int wm8962_runtime_resume(struct device *dev)
3838 msleep(5); 3838 msleep(5);
3839 3839
3840 return 0; 3840 return 0;
3841
3842disable_clock:
3843 clk_disable_unprepare(wm8962->pdata.mclk);
3844 return ret;
3841} 3845}
3842 3846
3843static int wm8962_runtime_suspend(struct device *dev) 3847static int wm8962_runtime_suspend(struct device *dev)