A simple bug that's been lurking for a while but not terribly visible

since a high proportion of chips have no register 0 so the normal
 failure is that we end up doing a bit of extra I/O.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.11 (GNU/Linux)
 
 iQIcBAABAgAGBQJPeDKyAAoJEBus8iNuMP3dWh0P/A6sU2uMAYARug09o30JqN7E
 kwHbDvoAkEnn89t8vzaLf36527j+n6Pi1+m/GXt0O2SrzySY9iGsW5FOsGnrnWNV
 fTSPN0ATiAegjHRjf5IWIh9onilJNQ0Tr/jbYguaNrtbr3uGMqfctSdCJimz2Tm+
 VXTfQhOypNYrHWAgWpO9ioaERyuQ54IhZ11g7WUCQV4GAGeahLMcXqiBO1LFktN/
 HUynGqNBj3mMQRxy/ko74hNiXwOLiCV5FcnY9ycUn0a2Vnh/7vskavyPuIxblYNs
 N9YdtLxGxiOvXqvEmMTnigLxJT5sEKoivbesux7p99Nn0DVHvjdU07MF0tP16Ylk
 sxzdgwXkchIgMtZ4vdn45KVkAcI4mKHdU0Ggu8ax94cEZkyKFUJlgonwVybHW0lB
 75+Mv8nLqsD8DKobvCcZ8cuFRfGASqZEbqHvHZvd3IbhfRGYRWykDtxRvieWVe0v
 s7jB9hjSYNJQBDf3EF6oBHxuoAlmZ7m5afNcCFyrw5RzcP1kTyW5iqlCBP0cOm0s
 CrZOWjX54T51eqjBSHHK8c98AzKLsmwhalw1j20hA/+5WsIbp5owUpWyQMaKMW2f
 85qBd8OCvQnh7D5Z9GPhkEf5Vl+4WGfE3BhL8JPHVIPGE7t3nSNlFqS4rETdoqDi
 mhBOX9cUIoQkb+L44Dv+
 =i2aW
 -----END PGP SIGNATURE-----

Merge tag 'regmap-3.4' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap

Pull a single regmap fix from Mark Brown:
 "A simple bug that's been lurking for a while but not terribly visible
  since a high proportion of chips have no register 0 so the normal
  failure is that we end up doing a bit of extra I/O."

* tag 'regmap-3.4' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap:
  regmap: rbtree: Fix register default look-up in sync
This commit is contained in:
Linus Torvalds 2012-04-04 10:10:14 -07:00
commit 3ff8f932bc

View File

@ -396,7 +396,7 @@ static int regcache_rbtree_sync(struct regmap *map, unsigned int min,
map->cache_word_size);
/* Is this the hardware default? If so skip. */
ret = regcache_lookup_reg(map, i);
ret = regcache_lookup_reg(map, regtmp);
if (ret >= 0 && val == map->reg_defaults[ret].def)
continue;