OSDN Git Service

gpio: pcie-idio-24: Mask read inputs for get_multiple
authorWilliam Breathitt Gray <vilhelm.gray@gmail.com>
Mon, 22 Oct 2018 12:10:20 +0000 (21:10 +0900)
committerLinus Walleij <linus.walleij@linaro.org>
Mon, 5 Nov 2018 07:54:42 +0000 (08:54 +0100)
This patch masks the read inputs with the word mask in order to ensure
only requested input states are returned in the bits array.

Suggested-by: Rasmus Villemoes <linux@rasmusvillemoes.dk>
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 f953541..52f1647 100644 (file)
@@ -243,7 +243,7 @@ static int idio_24_gpio_get_multiple(struct gpio_chip *chip,
                        port_state = ioread8(&idio24gpio->reg->ttl_in0_7);
 
                /* store acquired bits at respective bits array offset */
-               bits[word_index] |= port_state << word_offset;
+               bits[word_index] |= (port_state << word_offset) & word_mask;
        }
 
        return 0;