X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=drivers%2Fgpio%2Fgpio-rcar.c;h=8b7e719a68c3662f454c76b3e82b9569abeb22f8;hb=947174476701fbc84ea8c7ec9664270f9d80b076;hp=fe088a30567ac63325fd02be82b8e682aa2323eb;hpb=62a3a12667ac551c0251d6437372c34a98dd991c;p=~andy%2Flinux diff --git a/drivers/gpio/gpio-rcar.c b/drivers/gpio/gpio-rcar.c index fe088a30567..8b7e719a68c 100644 --- a/drivers/gpio/gpio-rcar.c +++ b/drivers/gpio/gpio-rcar.c @@ -169,7 +169,8 @@ static irqreturn_t gpio_rcar_irq_handler(int irq, void *dev_id) u32 pending; unsigned int offset, irqs_handled = 0; - while ((pending = gpio_rcar_read(p, INTDT))) { + while ((pending = gpio_rcar_read(p, INTDT) & + gpio_rcar_read(p, INTMSK))) { offset = __ffs(pending); gpio_rcar_write(p, INTCLR, BIT(offset)); generic_handle_irq(irq_find_mapping(p->irq_domain, offset));