linux/drivers/base
Lars-Peter Clausen 26ee47411a regmap: debugfs: Fix continued read from registers file
The regmap_debugfs_get_dump_start() function maps from a file offset to the
register that can be found at that position in the file. This is done using a
look-up table. Commit d6814a7d ("regmap: debugfs: Suppress cache for partial
register files") added a check to bypass the look-up table for partial register
files, since the offsets in that table are only correct for the full register
file. The check incorrectly uses the file offset instead of the register base
address and returns it. This will cause the file offset to be interpreted as a
register address which will result in a incorrect output from the registers file
for all reads except at position 0.

The issue can easily be reproduced by doing small reads the registers file, e.g.
`dd if=registers bs=10 count=5`.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Mark Brown <broonie@linaro.org>
Cc: stable@vger.kernel.org
2013-08-28 18:27:08 +01:00
..
power Merge branch 'pm-assorted' 2013-06-28 13:01:40 +02:00
regmap regmap: debugfs: Fix continued read from registers file 2013-08-28 18:27:08 +01:00
attribute_container.c drivers: avoid format string in dev_set_name 2013-07-03 16:07:41 -07:00
base.h driver/base: implement subsys_virtual_register() 2013-03-12 11:36:35 -07:00
bus.c driver core: export subsys_virtual_register 2013-05-21 09:05:52 -07:00
class.c driver-core: constify data for class_find_device() 2013-02-06 12:18:56 -08:00
core.c driver core: add default groups to struct class 2013-07-16 10:57:37 -07:00
cpu.c drivers: delete __cpuinit usage from all remaining drivers files 2013-07-14 19:36:59 -04:00
dd.c PM / Runtime: Idle devices asynchronously after probe|release 2013-04-11 12:42:52 -07:00
devres.c Linux 3.9-rc3 2013-03-17 19:40:50 -07:00
devtmpfs.c driver core: handle user namespaces properly with the uid/gid devtmpfs change 2013-04-11 11:43:29 -07:00
dma-buf.c [media] dma-buf: Cocci spatch "ptr_ret.spatch" 2013-06-08 20:00:29 -03:00
dma-coherent.c drivers: dma-coherent: Fix typo in dma_mmap_from_coherent documentation 2012-10-23 14:05:32 +02:00
dma-contiguous.c drivers: cma: represent physical addresses as phys_addr_t 2012-12-11 09:28:09 +01:00
dma-mapping.c [media] dma-mapping: fix dma_common_get_sgtable() conditional compilation 2012-11-27 09:42:31 -02:00
driver.c driver core: don't trigger uevent after failure 2012-07-17 10:40:23 -07:00
firmware_class.c firmware loader: fix another compile warning with PM_SLEEP unset 2013-06-25 21:04:22 -07:00
firmware.c
hypervisor.c
init.c
isa.c
Kconfig Finally eradicate CONFIG_HOTPLUG 2013-06-03 14:20:18 -07:00
Makefile reservation: cross-device reservation support, v4 2013-06-28 12:02:15 +10:00
map.c
memory.c Power management and ACPI updates for 3.11-rc1 2013-07-03 14:35:40 -07:00
module.c
node.c drivers/base/node.c: switch to register_hotmemory_notifier() 2013-04-29 15:54:36 -07:00
pinctrl.c drivers: pinctrl sleep and idle states in the core 2013-06-16 11:56:52 +02:00
platform.c driver-core: fix new kernel-doc warning in base/platform.c 2013-07-16 22:43:50 -07:00
reservation.c reservation: cross-device reservation support, v4 2013-06-28 12:02:15 +10:00
soc.c mode_t whack-a-mole: ->is_visible() returns umode_t... 2012-05-29 23:28:42 -04:00
syscore.c
topology.c drivers: delete __cpuinit usage from all remaining drivers files 2013-07-14 19:36:59 -04:00
transport_class.c