gpio: fix aspeed_gpio unmask irq
authorGovert Overgaauw <govert.overgaauw@prodrive-technologies.com>
Fri, 6 Apr 2018 12:41:35 +0000 (14:41 +0200)
committerLinus Walleij <linus.walleij@linaro.org>
Thu, 26 Apr 2018 09:13:04 +0000 (11:13 +0200)
The unmask function disables all interrupts in a bank when unmasking an
interrupt. Only disable the given interrupt.

Cc: stable@vger.kernel.org
Signed-off-by: Govert Overgaauw <govert.overgaauw@prodrive-technologies.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
drivers/gpio/gpio-aspeed.c

index 77e485557498329193fd291194cc037de55c8160..6f693b7d5220a02b110ae28b8fb6dd5a997d631f 100644 (file)
@@ -384,7 +384,7 @@ static void aspeed_gpio_irq_set_mask(struct irq_data *d, bool set)
        if (set)
                reg |= bit;
        else
-               reg &= bit;
+               reg &= ~bit;
        iowrite32(reg, addr);
 
        spin_unlock_irqrestore(&gpio->lock, flags);