[PATCH] clk: versaclock5: restore cache_only on regcache_sync() failure in resume
| Newsgroups | org.kernel.vger.linux-clk,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <[email protected]> |
From: bui duc phuc <[email protected]> If regcache_sync() fails in vc5_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 vc5_suspend(). Signed-off-by: bui duc phuc <[email protected]> --- drivers/clk/clk-versaclock5.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/clk/clk-versaclock5.c b/drivers/clk/clk-versaclock5.c index 913fcc5675f1..d87899118905 100644 --- a/drivers/clk/clk-versaclock5.c +++ b/drivers/clk/clk-versaclock5.c @@ -1240,8 +1240,10 @@ static int __maybe_unused vc5_resume(struct device *dev) regcache_cache_only(vc5->regmap, false); ret = regcache_sync(vc5->regmap); - if (ret) + if (ret) { + regcache_cache_only(vc5->regmap, true); dev_err(dev, "Failed to restore register map: %d\n", ret); + } return ret; } -- 2.43.0