That's not a bug, it's a feature!
The bug is that it isn't cleared by enable_irq() - I used to do it, but
that code disappeared when I did the counting scheme, oops.
The one-liner fix is to do
irq_desc[irq].status &= ~(IRQ_DISABLED | IRQ_INPROGRESS);
in enable_irq(), the way it was meant to be. Your patch is much too
complex.
Linus
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/