summaryrefslogtreecommitdiff
path: root/drivers/base
diff options
context:
space:
mode:
authorMark Brown <broonie@opensource.wolfsonmicro.com>2012-03-05 23:31:39 +0000
committerMark Brown <broonie@opensource.wolfsonmicro.com>2012-03-05 23:48:50 +0000
commit994f5db65ef4b83db0321842bd43c6bc0a51f000 (patch)
tree633121617abdf0799462b87ed19dd4cc7b2f2f56 /drivers/base
parent19694b5ea1d3a723dafe9544b5ee9a935414dc28 (diff)
downloadlinux-3.10-994f5db65ef4b83db0321842bd43c6bc0a51f000.tar.gz
linux-3.10-994f5db65ef4b83db0321842bd43c6bc0a51f000.tar.bz2
linux-3.10-994f5db65ef4b83db0321842bd43c6bc0a51f000.zip
regcache: Make sure we sync register 0 in an rbtree cache
Most of the current users have register 0 as a volatile register or don't have a register 0 so it's not been apparent that it's not getting synced. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Diffstat (limited to 'drivers/base')
-rw-r--r--drivers/base/regmap/regcache-rbtree.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/base/regmap/regcache-rbtree.c b/drivers/base/regmap/regcache-rbtree.c
index 32620c4f168..861ad2c81df 100644
--- a/drivers/base/regmap/regcache-rbtree.c
+++ b/drivers/base/regmap/regcache-rbtree.c
@@ -377,7 +377,7 @@ static int regcache_rbtree_sync(struct regmap *map)
/* Is this the hardware default? If so skip. */
ret = regcache_lookup_reg(map, i);
- if (ret > 0 && val == map->reg_defaults[ret].def)
+ if (ret >= 0 && val == map->reg_defaults[ret].def)
continue;
map->cache_bypass = 1;