Merge tag 'regmap-fix-v7.1-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap
Pull regmap fix from Mark Brown: "Some other fixing in an API user turned up the fact that we weren't correctly applying cache only mode to volatile registers in regmap_update_bits(), causing us to try to access hardware that was powered off or otherwise not in a state to accept I/O. This fix returns an error instead, avoiding more serious consequences" * tag 'regmap-fix-v7.1-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap: regmap: reject volatile update_bits() in cache-only mode
This commit is contained in:
commit
230ff934f7
1 file changed
+3
@@ -3257,6 +3257,9 @@ static int _regmap_update_bits(struct regmap *map, unsigned int reg,
|
||||
*change = false;
|
||||
|
||||
if (regmap_volatile(map, reg) && map->reg_update_bits) {
|
||||
if (map->cache_only)
|
||||
return -EBUSY;
|
||||
|
||||
reg = regmap_reg_addr(map, reg);
|
||||
ret = map->reg_update_bits(map->bus_context, reg, mask, val);
|
||||
if (ret == 0 && change)
|
||||
|
||||
Reference in new issue
Block a user