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:55:26 +0000 (07:55 -0700)
commiteae8deca616b42aed8995bba718e729a650deb00
tree08b82e1bee216a746fb94345898aa9eeaff74b0e
parent3d8c3c417bdcddb0798ba54c8032de0ac12cd738
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