Why ack interrupt before calling handler?

Kenneth Johansson kenneth.johansson at etx.ericsson.se
Wed Jun 11 20:33:42 EST 2003

On Fri, 2003-06-06 at 20:29, Kent Borg wrote:
> I am confused by something in ppc_irq_dispatch_handler().  It looks to
> me that the interrupt is ack-ed before the handler is called.  Maybe I
> am misunderstanding, but doesn't the ack only reset the interrupt
> controller?  If so, the interrupting hardware could still be
> presenting a level-triggered interrupt.  Wouldn't it make more sense
> to let the interrupt routine get service the hardware first, then
> reset the interrupt controller?

I don't know what code you are looking at but generally you want to
first ack to avoid the race condition that would otherwise be present if
you first run your interrupt routine then ack. How would you know that
it was in fact not a new interrupt condition that you have not taken
care of you just removed.

ps. and never ever use edge triggered interrupts

Kenneth Johansson
Ericsson AB                       Tel: +46 8 719 70 20
Tellusborgsvägen  90              Fax: +46 8 719 29 45
126 25 Stockholm                  ken at switchboard.ericsson.se

** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/

More information about the Linuxppc-embedded mailing list