[PATCH 4.10 01/48] iio: 104-quad-8: Fix off-by-one error when addressing flag register

From: Greg Kroah-Hartman
Date: Thu Mar 16 2017 - 10:52:30 EST


4.10-stable review patch. If anyone has any objections, please let me know.

------------------

From: William Breathitt Gray <vilhelm.gray@xxxxxxxxx>

commit ca8d8e03b4c9ad447d1e882cc8014e538f653018 upstream.

The flag register is offset by 1 from the respective channel data
register. This patch fixes an off-by-one error when attempting to read a
channel flag register where the base address was not properly offset.

Fixes: 28e5d3bb0325 ("iio: 104-quad-8: Add IIO support for the ACCES 104-QUAD-8")
Signed-off-by: William Breathitt Gray <vilhelm.gray@xxxxxxxxx>
Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>

---
drivers/iio/counter/104-quad-8.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

--- a/drivers/iio/counter/104-quad-8.c
+++ b/drivers/iio/counter/104-quad-8.c
@@ -76,7 +76,7 @@ static int quad8_read_raw(struct iio_dev
return IIO_VAL_INT;
}

- flags = inb(base_offset);
+ flags = inb(base_offset + 1);
borrow = flags & BIT(0);
carry = !!(flags & BIT(1));