Unverified Commit 37e9faf2 authored by Hsieh Hung-En's avatar Hsieh Hung-En Committed by Mark Brown
Browse files

ASoC: es8311: Check regcache_sync() error in resume



The es8311_resume() function currently ignores the return value of
regcache_sync(). If syncing the cache fails, the function still returns
0, leaving the codec in a potentially incorrect state.

Check the return value and propagate it to the ASoC core to ensure
resume failures are properly handled.

Signed-off-by: default avatarHsieh Hung-En <hungen3108@gmail.com>
Link: https://patch.msgid.link/20260415030252.5547-2-hungen3108@gmail.com


Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent 6e5b0fac
Loading
Loading
Loading
Loading
+6 −1
Original line number Diff line number Diff line
@@ -862,13 +862,18 @@ static int es8311_suspend(struct snd_soc_component *component)
static int es8311_resume(struct snd_soc_component *component)
{
	struct es8311_priv *es8311;
	int ret;

	es8311 = snd_soc_component_get_drvdata(component);

	es8311_reset(component, false);

	regcache_cache_only(es8311->regmap, false);
	regcache_sync(es8311->regmap);
	ret = regcache_sync(es8311->regmap);
	if (ret) {
		dev_err(component->dev, "unable to sync regcache\n");
		return ret;
	}

	return 0;
}