From: bui duc phuc <phucduc.bui@gmail.com>
If regcache_sync() fails in rs9_resume(), the function only logs the
error, leaving regmap with cache_only disabled even though the register
cache has not been synchronized with the hardware.
Re-enable cache_only on failure to restore the state established by
rs9_suspend().
Signed-off-by: bui duc phuc <phucduc.bui@gmail.com>
---
drivers/clk/clk-renesas-pcie.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/drivers/clk/clk-renesas-pcie.c b/drivers/clk/clk-renesas-pcie.c
index 2f6d80ee77cc..a2d7417e05ef 100644
--- a/drivers/clk/clk-renesas-pcie.c
+++ b/drivers/clk/clk-renesas-pcie.c
@@ -370,8 +370,10 @@ static int rs9_resume(struct device *dev)
regcache_cache_only(rs9->regmap, false);
ret = regcache_sync(rs9->regmap);
- if (ret)
+ if (ret) {
+ regcache_cache_only(rs9->regmap, true);
dev_err(dev, "Failed to restore register map: %d\n", ret);
+ }
return ret;
}
--
2.43.0