[PATCH 00/19] ASoC: codecs: propagate regcache_sync() failures

From: Pengpeng Hou

Date: Fri Jul 03 2026 - 23:49:22 EST


Several ASoC codec resume and reattach paths replay cached register
state with regcache_sync() after power loss, reset, runtime resume, or
SoundWire reattach. These paths currently drop regcache_sync() failures
and can report success even when cached register state was not written
back to hardware.

Propagate regcache_sync() failures from the reviewed paths and restore
cache-only/dirty state or unwind resources before returning errors. Most
patches are local resume-path error propagation. Four patches also close
failure-path issues that were held during earlier review: rt1320-sdw
restores both regmaps, rt5682-sdw restores first-init cache state,
max98396 unwinds supplies acquired during resume, and max98090 is limited
to the runtime-resume path with the stronger paired suspend/resume proof.

This series is source-audited only. I did not test on the affected
hardware.

Pengpeng Hou (19):
ASoC: codecs: lpass-rx-macro: Propagate regcache_sync() errors
ASoC: codecs: lpass-tx-macro: Propagate regcache_sync() errors
ASoC: codecs: lpass-wsa-macro: Propagate regcache_sync() errors
ASoC: codecs: max98373: Propagate regcache_sync() errors
ASoC: codecs: max98388: Propagate regcache_sync() errors
ASoC: codecs: rt1318-sdw: Propagate regcache_sync() errors
ASoC: codecs: rt9120: Propagate regcache_sync() errors
ASoC: codecs: tas2552: Propagate regcache_sync() errors
ASoC: codecs: tas2783-sdw: Propagate regcache_sync() errors
ASoC: codecs: wcd938x-sdw: Propagate regcache_sync() errors
ASoC: codecs: cs35l32: Propagate regcache_sync() errors
ASoC: codecs: wm2200: Propagate regcache_sync() errors
ASoC: codecs: wm5100: Propagate regcache_sync() errors
ASoC: codecs: wm8962: Propagate regcache_sync() errors
ASoC: codecs: cs4349: Propagate regcache_sync() errors
ASoC: codecs: rt1320-sdw: Propagate regcache_sync() errors
ASoC: codecs: rt5682-sdw: Propagate regcache_sync() errors
ASoC: codecs: max98396: Unwind supplies on resume failure
ASoC: codecs: max98090: Propagate runtime regcache_sync() errors

sound/soc/codecs/cs35l32.c | 10 +++++++++-
sound/soc/codecs/cs4349.c | 8 +++++++-
sound/soc/codecs/lpass-rx-macro.c | 31 +++++++++++++++++++++---------
sound/soc/codecs/lpass-tx-macro.c | 25 +++++++++++++++++-------
sound/soc/codecs/lpass-wsa-macro.c | 28 ++++++++++++++++++++-------
sound/soc/codecs/max98090.c | 8 +++++++-
sound/soc/codecs/max98373-i2c.c | 9 ++++++++-
sound/soc/codecs/max98388.c | 8 +++++++-
sound/soc/codecs/max98396.c | 24 ++++++++++++++++++++---
sound/soc/codecs/rt1318-sdw.c | 7 ++++++-
sound/soc/codecs/rt1320-sdw.c | 17 ++++++++++++++--
sound/soc/codecs/rt5682-sdw.c | 20 +++++++++++++++++--
sound/soc/codecs/rt9120.c | 9 ++++++++-
sound/soc/codecs/tas2552.c | 10 +++++++++-
sound/soc/codecs/tas2783-sdw.c | 16 +++++++++++++--
sound/soc/codecs/wcd938x-sdw.c | 8 +++++++-
sound/soc/codecs/wm2200.c | 10 +++++++++-
sound/soc/codecs/wm5100.c | 10 +++++++++-
sound/soc/codecs/wm8962.c | 9 ++++++++-
19 files changed, 223 insertions(+), 44 deletions(-)

--
2.43.0