]> git.baikalelectronics.ru Git - kernel.git/commit
iio: industrialio-core: Fix debugfs read
authorAlexandru Tachici <alexandru.tachici@analog.com>
Fri, 21 Feb 2020 12:06:55 +0000 (14:06 +0200)
committerJonathan Cameron <Jonathan.Cameron@huawei.com>
Sun, 8 Mar 2020 17:28:51 +0000 (17:28 +0000)
commite3978d60f696bc6fdfe77b332b17cabbde2199da
treef8b0879d2807b3b55bbbc7d6c34bd1973182dcd9
parent57158af105d7421b655df89aaf74f467c5d19db4
iio: industrialio-core: Fix debugfs read

Currently iio_debugfs_read_reg calls debugfs_reg_access
every time it is ran. Reading the same hardware register
multiple times during the same reading of a debugfs file
can cause unintended effects.

For example for each: cat iio:device0/direct_reg_access
the file_operations.read function will be called at least
twice. First will return the full length of the string in
bytes  and the second will return 0.

This patch makes iio_debugfs_read_reg to call debugfs_reg_access
only when the user's buffer position (*ppos) is 0. (meaning
it is the beginning of a new reading of the debugfs file).

Fixes: d21bbfced289 ("staging: iio: core: Introduce debugfs support, add support for direct register access")
Signed-off-by: Alexandru Ardelean <alexandru.ardelean@analog.com>
Signed-off-by: Alexandru Tachici <alexandru.tachici@analog.com>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
drivers/iio/industrialio-core.c
include/linux/iio/iio.h