]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
ASoC: es8311: Check regcache_sync() error in resume
authorHsieh Hung-En <hungen3108@gmail.com>
Wed, 15 Apr 2026 03:02:51 +0000 (11:02 +0800)
committerMark Brown <broonie@kernel.org>
Thu, 16 Apr 2026 12:39:09 +0000 (13:39 +0100)
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: Hsieh Hung-En <hungen3108@gmail.com>
Link: https://patch.msgid.link/20260415030252.5547-2-hungen3108@gmail.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/codecs/es8311.c

index 0b07a53cc792e64b2d1724f83168cd676f665821..9e371e2d6eae8e638769230a1e8f7ed10b550dc6 100644 (file)
@@ -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;
 }