[openib-general] Re: Disabling IRQ #201 message

Roland Dreier roland at topspin.com
Wed Feb 2 11:07:01 PST 2005


    mst> Pls consider:

    mst> EQ0 drives interrupt (low)
    mst> IRQ handler clears interrupt (high)
    mst> EQ1 drives interrupt (low)
    mst> IRQ handler reads ECR
    mst> IRQ handler serves EQ0 and EQ1
    mst> IRQ handler responds with IRQ handled

    mst> all EQs are now empty, but interrupt line is low (asserted).

I agree that this scenario is possible and will probably result in a
return of IRQ_NONE from the next call to the interrupt handler.
However, this should be OK since about half of the interrupts will be
handled.

    mst> I propose returning IRQ_HANDLED *always* in regular interrupt.

We may be forced to do that, but it's pretty ugly (since it defeats
the kernel's detection of stuck interrupts).

Hmm, looking at kernel/irq/spurious.c I think I see a bug... I'll take
this up on lkml.

 - R.



More information about the general mailing list