diff options
| author | bui duc phuc <phucduc.bui@gmail.com> | 2026-07-13 12:03:12 +0700 |
|---|---|---|
| committer | Mark Brown <broonie@kernel.org> | 2026-07-13 18:52:43 +0100 |
| commit | a7d168db6bb7a5be2616a4828f491e412fe57a6d (patch) | |
| tree | 2cdc30f0f16b18f7dda27c9daa9d751b196f9ecf /drivers/base/regmap | |
| parent | 85da24aac16ab70c77a763e42e52fc3a782fb21c (diff) | |
| download | linux-a7d168db6bb7a5be2616a4828f491e412fe57a6d.tar.gz linux-a7d168db6bb7a5be2616a4828f491e412fe57a6d.zip | |
regcache: Mark cache dirty if selector register rewrite fails
After a successful cache synchronization, regcache_sync() clears
cache_dirty. If rewriting a selector register later fails, the cache
and hardware become inconsistent while the cache still appears clean.
Update cache_dirty to reflect the cache and hardware state when
selector register rewriting fails.
Signed-off-by: bui duc phuc <phucduc.bui@gmail.com>
Link: https://patch.msgid.link/20260713050312.38729-3-phucduc.bui@gmail.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'drivers/base/regmap')
| -rw-r--r-- | drivers/base/regmap/regcache.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/base/regmap/regcache.c b/drivers/base/regmap/regcache.c index 040fd60c0d59..96cdae25b9c4 100644 --- a/drivers/base/regmap/regcache.c +++ b/drivers/base/regmap/regcache.c @@ -465,6 +465,7 @@ out: selector_ret = _regmap_write(map, this->selector_reg, i); if (selector_ret != 0) { + map->cache_dirty = true; dev_err(map->dev, "Failed to write %x = %x: %d\n", this->selector_reg, i, selector_ret); break; |
