diff options
author | Mark Brown <broonie@linaro.org> | 2014-01-17 15:52:17 +0000 |
---|---|---|
committer | Mark Brown <broonie@linaro.org> | 2014-01-17 15:52:17 +0000 |
commit | 81e53d0470878165a300d75ac06a5bc5eee543a2 (patch) | |
tree | 5fdaacfb350c5a290109f98ab29e9858f1f11469 /drivers/gpio/gpio-rcar.c | |
parent | 15e0964dc2a097de3cf518badf2237b6b6adf7fe (diff) | |
parent | fcb4ed749c776a2ae89ca40343cbccb6f8981e60 (diff) |
Merge branches 'topic/sc18is602' and 'topic/rspi' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi into spi-bpw
Diffstat (limited to 'drivers/gpio/gpio-rcar.c')
-rw-r--r-- | drivers/gpio/gpio-rcar.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/gpio/gpio-rcar.c b/drivers/gpio/gpio-rcar.c index d3f15ae93bd..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)); @@ -381,7 +382,7 @@ static int gpio_rcar_probe(struct platform_device *pdev) if (!p->irq_domain) { ret = -ENXIO; dev_err(&pdev->dev, "cannot initialize irq domain\n"); - goto err1; + goto err0; } if (devm_request_irq(&pdev->dev, irq->start, |