]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
gpio: pci-idio-16: Mask read inputs for get_multiple
authorWilliam Breathitt Gray <vilhelm.gray@gmail.com>
Mon, 22 Oct 2018 12:10:06 +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-pci-idio-16.c

index 25d16b2af1c39b305830d837c5aff62ecaf95ae2..6b73497832231e8911302c425e904a85664eacf7 100644 (file)
@@ -146,7 +146,7 @@ static int idio_16_gpio_get_multiple(struct gpio_chip *chip,
                port_state = ioread8(ports[i]);
 
                /* 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;