|
@@ -1474,6 +1474,8 @@ int _regmap_raw_write(struct regmap *map, unsigned int reg,
|
|
ret = map->bus->write(map->bus_context, buf, len);
|
|
ret = map->bus->write(map->bus_context, buf, len);
|
|
|
|
|
|
kfree(buf);
|
|
kfree(buf);
|
|
|
|
+ } else if (ret != 0 && !map->cache_bypass && map->format.parse_val) {
|
|
|
|
+ regcache_drop_region(map, reg, reg + 1);
|
|
}
|
|
}
|
|
|
|
|
|
trace_regmap_hw_write_done(map, reg, val_len / map->format.val_bytes);
|
|
trace_regmap_hw_write_done(map, reg, val_len / map->format.val_bytes);
|