gpio: pcie-idio-24: Fix off-by-one error in get_multiple loop
authorWilliam Breathitt Gray <vilhelm.gray@gmail.com>
Fri, 20 Apr 2018 13:50:20 +0000 (09:50 -0400)
committerLinus Walleij <linus.walleij@linaro.org>
Mon, 30 Apr 2018 08:48:08 +0000 (10:48 +0200)
The PCIe-IDIO-24 features 8 bits of TTL GPIO which may be configured for
output or input. This patch fixes an off-by-one error in the loop
conditional for the get_multiple callback so that the TTL GPIO are
handled.

Fixes: ca37081595a2 ("gpio: pcie-idio-24: Implement get_multiple/set_multiple callbacks")
Signed-off-by: William Breathitt Gray <vilhelm.gray@gmail.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
drivers/gpio/gpio-pcie-idio-24.c

index 3e77c2a9a9fd4607014ba658fc342866a1baee51..f953541e78901b3971242338492af07a570b533d 100644 (file)
@@ -217,7 +217,7 @@ static int idio_24_gpio_get_multiple(struct gpio_chip *chip,
        bitmap_zero(bits, chip->ngpio);
 
        /* get bits are evaluated a gpio port register at a time */
-       for (i = 0; i < ARRAY_SIZE(ports); i++) {
+       for (i = 0; i < ARRAY_SIZE(ports) + 1; i++) {
                /* gpio offset in bits array */
                bits_offset = i * gpio_reg_size;