]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
ARM: OMAP1: ams-delta: fix deferred_fiq handler
authorJanusz Krzysztofik <jmkrzyszt@gmail.com>
Wed, 2 May 2018 18:32:03 +0000 (20:32 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 20 Jun 2018 19:01:34 +0000 (04:01 +0900)
commit4e2d6ec42039d928cfc4ae40fbcb07867fbcb6ce
treec61fc5f1b83f3b9efdce3da7f74f03ced7d2a2e4
parent38c3d8237d45bdb8aa0dea3ff96ca50fbac056ff
ARM: OMAP1: ams-delta: fix deferred_fiq handler

[ Upstream commit baf64250b4a513bf4ac226fd938692dc1836f4f6 ]

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>
Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
arch/arm/mach-omap1/ams-delta-fiq.c