android_kernel_samsung_msm8976/drivers/base/regmap
David Jander 0c6471cc8e regmap: rbtree: Fix overlapping rbnodes.
commit 4e67fb5f5e336250db944921e3c68057d6203034 upstream.

Avoid overlapping register regions by making the initial blklen of a new
node 1. If a register write occurs to a yet uncached register, that is
lower than but near an existing node's base_reg, a new node is created
and it's blklen is set to an arbitrary value (sizeof(*rbnode)). That may
cause this node to overlap with another node. Those nodes should be merged,
but this merge doesn't happen yet, so this patch at least makes the initial
blklen small enough to avoid hitting the wrong node, which may otherwise
lead to severe breakage.

Signed-off-by: David Jander <david@protonic.nl>
Signed-off-by: Mark Brown <broonie@linaro.org>
Signed-off-by: Zhouping Liu <zliu@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-09-07 22:10:00 -07:00
..
internal.h Merge remote-tracking branch 'regmap/topic/range' into regmap-next 2013-04-16 16:05:50 +01:00
Kconfig regmap: select REGMAP if REGMAP_MMIO and REGMAP_IRQ enabled 2012-10-17 22:09:35 +09:00
Makefile regmap: flat: Add flat cache type 2013-01-02 10:58:53 +00:00
regcache-flat.c regmap: flat: Add flat cache type 2013-01-02 10:58:53 +00:00
regcache-lzo.c regmap: cache: Pass the map rather than the word size when updating values 2013-03-04 10:30:27 +08:00
regcache-rbtree.c regmap: rbtree: Fix overlapping rbnodes. 2013-09-07 22:10:00 -07:00
regcache.c regmap: cache: Make sure to sync the last register in a block 2013-08-14 22:59:06 -07:00
regmap-debugfs.c regmap: debugfs: Check return value of regmap_write() 2013-05-12 18:57:48 +04:00
regmap-i2c.c i2c: Split I2C_M_NOSTART support out of I2C_FUNC_PROTOCOL_MANGLING 2012-05-30 10:55:34 +02:00
regmap-irq.c regmap: irq: Clarify error message when we fail to request primary IRQ 2013-03-19 10:50:56 +00:00
regmap-mmio.c regmap: mmio: add register clock support 2013-02-14 16:40:28 +00:00
regmap-spi.c regmap: spi: Handle allocation failures gracefully 2013-02-05 14:14:32 +00:00
regmap.c regmap: cache: bail in regmap_async_complete() for bus-less maps 2013-08-04 16:50:58 +08:00