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>
This commit is contained in:
Fabio Estevam 2016-03-28 08:31:18 -03:00 committed by Mark Brown
parent f55532a0c0
commit 6514784679

View File

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