[PATCH AUTOSEL 6.18] ASoC: fs210x: Make cache write through again during resume
From: Sasha Levin
Date: Mon Aug 31 2026 - 09:57:11 EST
From: Mark Brown <broonie@xxxxxxxxxx>
[ Upstream commit 7dcf091da4b4596f7dbfb403d946ee4aac423af3 ]
The fs210x driver currently puts the regmap cache into cache only mode
during suspend but at no point does it make it writable again, meaning
that device can't work after suspend other than basic powerup which
bypasses the cache.
Mark the cache as writable again when we resync the registers, it's not
clear to me that the cache only mode is needed at all but this is a
fairly minimal change. Since this is setting a flag it's safe to do
even if the cache was not previously in cache only mode.
Reviewed-by: Cezary Rojewski <cezary.rojewski@xxxxxxxxx>
Link: https://patch.msgid.link/20260715-asoc-fs210x-fix-resume-v1-1-dd81d9c62c05@xxxxxxxxxx
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>
---
LLM Generated explanations, may be completely bogus:
The background check finished. The original mainline driver commit
(`756117701779`) is **not** a git ancestor of this tree’s HEAD — typical
for stable backports where content lands via cherry-picks rather than
the exact upstream commit object.
That doesn’t change the conclusion: `fs210x.c` is present in 6.18.44
with the suspend/resume bug, and the fix (`1b9e1abadee04`) is already at
HEAD. **Verdict remains YES** for backporting to this tree.
sound/soc/codecs/fs210x.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/sound/soc/codecs/fs210x.c b/sound/soc/codecs/fs210x.c
index e2207c53c50d5..caed2951e23e6 100644
--- a/sound/soc/codecs/fs210x.c
+++ b/sound/soc/codecs/fs210x.c
@@ -607,6 +607,7 @@ static int fs210x_init_chip(struct fs210x_priv *fs210x)
regcache_cache_bypass(fs210x->regmap, false);
if (!ret) {
+ regcache_cache_only(fs210x->regmap, false);
regcache_mark_dirty(fs210x->regmap);
regcache_sync(fs210x->regmap);
fs210x->is_inited = true;
--
2.53.0