OSDN Git Service

ARM: OMAP1: ams-delta: fix deferred_fiq handler
authorJanusz Krzysztofik <jmkrzyszt@gmail.com>
Wed, 2 May 2018 18:32:03 +0000 (20:32 +0200)
committerTony Lindgren <tony@atomide.com>
Thu, 3 May 2018 17:06:41 +0000 (10:06 -0700)
commitbaf64250b4a513bf4ac226fd938692dc1836f4f6
tree3c0c187f8403f33ecff949a3a30a13cdd0b5ff70
parent30443b3104527c83102fa85347ae4bf21caaf77a
ARM: OMAP1: ams-delta: fix deferred_fiq handler

The deferred_fiq handler used to limit hardware operations to IRQ
unmask only, relying on gpio-omap assigned handler performing the ACKs.
Since commit 80ac93c27441 ("gpio: omap: Fix lost edge interrupts") this
is no longer the case as handle_edge_irq() has been replaced with
handle_simmple_irq() which doesn't touch the hardware.

Add single ACK operation per each active IRQ pin to the handler. While
being at it, move unmask operation out of irq_counter loop so it is
also called only once for each active IRQ pin.

Fixes: 80ac93c27441 ("gpio: omap: Fix lost edge interrupts")
Signed-off-by: Janusz Krzysztofik <jmkrzyszt@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
arch/arm/mach-omap1/ams-delta-fiq.c