]> git.baikalelectronics.ru Git - kernel.git/commitdiff
gpio: pca953x: Fix uninitialized pending variable
authorYe Li <ye.li@nxp.com>
Wed, 23 Sep 2020 09:03:44 +0000 (02:03 -0700)
committerBartosz Golaszewski <bgolaszewski@baylibre.com>
Thu, 24 Sep 2020 13:06:44 +0000 (15:06 +0200)
When pca953x_irq_pending returns false, the pending parameter won't
be set. But pca953x_irq_handler continues using this uninitialized
variable as pending irqs and will cause problem.
Fix the issue by initializing pending to 0.

Fixes: 80276007aa5c ("gpio: pca953x: Synchronize interrupt handler properly")
Signed-off-by: Ye Li <ye.li@nxp.com>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
drivers/gpio/gpio-pca953x.c

index bd2e96c34f824f9c8ed972ce33804e49ee1c7bef..29342e5def82bd74455a903f494d207fddca8c48 100644 (file)
@@ -814,7 +814,7 @@ static irqreturn_t pca953x_irq_handler(int irq, void *devid)
 {
        struct pca953x_chip *chip = devid;
        struct gpio_chip *gc = &chip->gpio_chip;
-       DECLARE_BITMAP(pending, MAX_LINE);
+       DECLARE_BITMAP(pending, MAX_LINE) = {};
        int level;
        bool ret;