diff --git a/drivers/base/regmap/regmap.c b/drivers/base/regmap/regmap.c index ff58f3847c06474a58e8aa7e3f36a938d7d870e1..aaf4e1372980a07951946bf252cfd3bda7438c9e 100644 --- a/drivers/base/regmap/regmap.c +++ b/drivers/base/regmap/regmap.c @@ -687,6 +687,10 @@ struct regmap *regmap_init(struct device *dev, unsigned win_max = win_min + config->ranges[j].window_len - 1; + /* Allow data window inside its own virtual range */ + if (j == i) + continue; + if (range_cfg->range_min <= sel_reg && sel_reg <= range_cfg->range_max) { dev_err(map->dev,