Port-arm archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[PATCH 9/11] OMAP2: GPIO: add missing IRQ acking for level interrupts



OMAP2: GPIO: add missing IRQ acking for level interrupts

Edge triggered interrupts are acked when marking them pending,
level triggered ones should be acked when they have been
serviced and we are unblocking them.
---
 sys/arch/arm/omap/omap2_gpio.c |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/sys/arch/arm/omap/omap2_gpio.c b/sys/arch/arm/omap/omap2_gpio.c
index 31cb799..169a930 100644
--- a/sys/arch/arm/omap/omap2_gpio.c
+++ b/sys/arch/arm/omap/omap2_gpio.c
@@ -119,6 +119,9 @@ gpio_pic_unblock_irqs(struct pic_softc *pic,
size_t irq_base, uint32_t irq_mask)
         * it'll come back.
         */
        GPIO_WRITE(gpio, GPIO_SETIRQENABLE1, gpio->gpio_enable_mask);
+       if (irq_mask & gpio->gpio_level_mask)
+               GPIO_WRITE(gpio, GPIO_IRQSTATUS1,
+                   irq_mask & gpio->gpio_level_mask);
 }

 void
-- 
1.5.4.2


Home | Main Index | Thread Index | Old Index