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)
committerJiri Slaby <jslaby@suse.cz>
Thu, 15 May 2014 07:54:40 +0000 (09:54 +0200)
commit9430eeea04a92849bf543161db5179f7b66cda03
tree92649b4ce2afe909e823b921d80105a9c9cad040
parentd99e424a4052d55ff492bcb19730420e96863d4c
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: Jiri Slaby <jslaby@suse.cz>
arch/arm/mach-omap2/irq.c