ARM: OMAP2+: INTC: Acknowledge stuck active interrupts
authorStefan Sørensen <stefan.sorensen@spectralink.com>
Thu, 6 Mar 2014 15:27:15 +0000 (16:27 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 6 May 2014 14:59:20 +0000 (07:59 -0700)
commit37e85ea59cd87bcbe23d295c1c416a60e4f38de6
treebceb921e72567cd264876a4c055757777cbef7b1
parentefa1ca365156f7faebbbd7cda83195c51cd17b19
ARM: OMAP2+: INTC: Acknowledge stuck active interrupts

commit 698b48532539484b012fb7c4176b959d32a17d00 upstream.

When an interrupt has become active on the INTC it will stay active
until it is acked, even if masked or de-asserted. The
INTC_PENDING_IRQn registers are however updated and since these are
used by omap_intc_handle_irq to determine which interrupt to handle,
it will never see the active interrupt. This will result in a storm of
useless interrupts that is only stopped when another higher priority
interrupt is asserted.

Fix by sending the INTC an acknowledge if we find no interrupts to
handle.

Signed-off-by: Stefan Sørensen <stefan.sorensen@spectralink.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
arch/arm/mach-omap2/irq.c