gpiolib: fix gpiochip_machine_hog()
authorDan Carpenter <dan.carpenter@oracle.com>
Tue, 1 May 2018 07:36:39 +0000 (10:36 +0300)
committerLinus Walleij <linus.walleij@linaro.org>
Wed, 16 May 2018 12:35:24 +0000 (14:35 +0200)
There is a shifter vs vanilla mask bug here.  We want to test if 1 << 11
is set but we're testing if 0xb is set.

Fixes: 9a6c505f7df1 ("gpiolib: add hogs support for machine code")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Reviewed-by: Bartosz Golaszewski <brgl@bgdev.pl>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
drivers/gpio/gpiolib.c

index 547adc1..d1171db 100644 (file)
@@ -1186,7 +1186,7 @@ static void gpiochip_machine_hog(struct gpio_chip *chip, struct gpiod_hog *hog)
                return;
        }
 
-       if (desc->flags & FLAG_IS_HOGGED)
+       if (test_bit(FLAG_IS_HOGGED, &desc->flags))
                return;
 
        rv = gpiod_hog(desc, hog->line_name, hog->lflags, hog->dflags);