diff options
| author | Pengpeng Hou <pengpeng@iscas.ac.cn> | 2026-07-04 11:54:37 +0800 |
|---|---|---|
| committer | Mark Brown <broonie@kernel.org> | 2026-07-09 17:45:24 +0100 |
| commit | 2c5e237e7e2a4256d080b44ec39a60a3d8e6d355 (patch) | |
| tree | ed7c2ffffbc1002b7910e5ae7879a42246d8cafa | |
| parent | 49ea357ea779ed24530e402655500c89d484b1db (diff) | |
ASoC: codecs: rt1318-sdw: Propagate regcache_sync() errors
regcache_sync() can fail while replaying cached register state after the
SoundWire slave has reinitialized. rt1318_dev_resume() currently ignores
that failure and returns success.
Propagate the error and restore cache-only/dirty state on failure.
Signed-off-by: Pengpeng Hou <pengpeng@iscas.ac.cn>
Link: https://patch.msgid.link/20260704035437.57792-1-pengpeng@iscas.ac.cn
Signed-off-by: Mark Brown <broonie@kernel.org>
| -rw-r--r-- | sound/soc/codecs/rt1318-sdw.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/sound/soc/codecs/rt1318-sdw.c b/sound/soc/codecs/rt1318-sdw.c index c038ac0e3b76..ef18cd63d461 100644 --- a/sound/soc/codecs/rt1318-sdw.c +++ b/sound/soc/codecs/rt1318-sdw.c @@ -830,7 +830,12 @@ static int rt1318_dev_resume(struct device *dev) return ret; regcache_cache_only(rt1318->regmap, false); - regcache_sync(rt1318->regmap); + ret = regcache_sync(rt1318->regmap); + if (ret) { + regcache_cache_only(rt1318->regmap, true); + regcache_mark_dirty(rt1318->regmap); + return ret; + } return 0; } |
