ppc_irq_dispatch_handler and unhandled interrupts
Hollis Blanchard
hollis at austin.ibm.com
Tue Nov 26 09:04:29 EST 2002
On Fri, 2002-11-22 at 16:45, Paul Mackerras wrote:
>
> This is the wrong fix IMO. The situation is no different to calling
> disable_irq during an interrupt handler, and as the comment says, the
> ->end() handler has to deal with that. The problem is that if we
> don't have an ->end() handler we unconditionally call the ->enable()
> handler, which (correctly) just unconditionally enables the
> interrupt.
You're right, not the right fix. I was on a obsolete tree which did not
have a ppc405_uic_end.
But why not require all handlers to have an ->end() handler? If you look
at arch/i386/kernel/irq.c do_IRQ you'll see they just assume there is an
end, simplifying code and removing at least one conditional from the irq
path. In linuxppc-2.5 there are 4 pic drivers entirely without end
handlers: adir_pic, cpc700_pic, gt64260_pic, and ppc403_pic.
-Hollis
--
PowerPC Linux
IBM Linux Technology Center
** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/
More information about the Linuxppc-dev
mailing list