ASoC: ak4458: Disable regulator when error happens

[ Upstream commit ae585fabb9 ]

Disable regulator in runtime resume when error happens to balance
the reference count of regulator.

Fixes: 7e3096e8f8 ("ASoC: ak4458: Add regulator support")
Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Link: https://patch.msgid.link/20251203100529.3841203-2-shengjiu.wang@nxp.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
Shengjiu Wang
2025-12-03 18:05:28 +08:00
committed by Greg Kroah-Hartman
parent c566637908
commit 140d2fb3de

View File

@@ -683,7 +683,15 @@ static int __maybe_unused ak4458_runtime_resume(struct device *dev)
regcache_cache_only(ak4458->regmap, false);
regcache_mark_dirty(ak4458->regmap);
return regcache_sync(ak4458->regmap);
ret = regcache_sync(ak4458->regmap);
if (ret)
goto err;
return 0;
err:
regcache_cache_only(ak4458->regmap, true);
regulator_bulk_disable(ARRAY_SIZE(ak4458->supplies), ak4458->supplies);
return ret;
}
#endif /* CONFIG_PM */