diff --git a/drivers/base/regmap/regcache.c b/drivers/base/regmap/regcache.c index 29a9fda41c44..0e3b6942640c 100644 --- a/drivers/base/regmap/regcache.c +++ b/drivers/base/regmap/regcache.c @@ -516,6 +516,10 @@ int regcache_sync_region(struct regmap *map, unsigned int min, map->lock(map->lock_arg); + if (WARN_ON(map->cache_only)) { + map->unlock(map->lock_arg); + return -EINVAL; + } /* Remember the initial bypass state */ bypass = map->cache_bypass;