From: bui duc phuc <redacted>
Calling regcache_mark_dirty() on error is redundant as regcache_sync()
retains dirty state on failure, and any write in cache_only mode marks
the cache dirty anyway.
Restore cache_only directly on error for active regmaps and drop the
redundant regcache_mark_dirty() calls. This also removes goto labels
to prepare for guard cleanup.
Signed-off-by: bui duc phuc <redacted>
---
sound/soc/codecs/rt721-sdca-sdw.c | 20 +++++++++-----------
1 file changed, 9 insertions(+), 11 deletions(-)
diff --git a/sound/soc/codecs/rt721-sdca-sdw.c b/sound/soc/codecs/rt721-sdca-sdw.c
index 6e27e761afb6..6411df4eede7 100644
--- a/sound/soc/codecs/rt721-sdca-sdw.c
+++ b/sound/soc/codecs/rt721-sdca-sdw.c
@@ -511,22 +511,20 @@ static int rt721_sdca_dev_resume(struct device *dev)
regcache_cache_only(rt721->regmap, false);
ret = regcache_sync(rt721->regmap);
- if (ret)
- goto err_sync;
+ if (ret) {
+ regcache_cache_only(rt721->regmap, true);
+ return ret;
+ }
regcache_cache_only(rt721->mbq_regmap, false);
ret = regcache_sync(rt721->mbq_regmap);
- if (ret)
- goto err_sync;
+ if (ret) {
+ regcache_cache_only(rt721->mbq_regmap, true);
+ regcache_cache_only(rt721->regmap, true);
+ return ret;
+ }
return 0;
-
-err_sync:
- regcache_cache_only(rt721->regmap, true);
- regcache_cache_only(rt721->mbq_regmap, true);
- regcache_mark_dirty(rt721->regmap);
- regcache_mark_dirty(rt721->mbq_regmap);
- return ret;
}
static const struct dev_pm_ops rt721_sdca_pm = {--
2.43.0