On Thu, May 03, 2007 at 12:19:32AM +0200, Bernhard Walle wrote: > * Vivek Goyal <[EMAIL PROTECTED]> [2007-04-30 10:48]: > > > > handle_edge_irq() already makes sure that desc->action is not null, still > > note_interrupt() is receiving desc->action as null, that's strange. On my > > system this is happening for irq 4 and /proc/interrupt shows that it is > > coming from "serial". > > Unfortunately, I couldn't reproduce this here. Vivek, do you have time > to take a look at this at your site? For the meanwhile, should I > create a patch that checks for desc->action in note_interrupt(), too? >
Hi Bernhard, I can reproduce this problem only on one machine. I think there is some race condition and your code somehow just exposes it. I put few WARN_ON(!desc->action) in handle_edge_irq() and what I find that after handle_IRQ_event(), desc->action has become null. That means in the meantime somebody has gone ahead and modified the desc. This must have happened because we have release desc->lock while running handle_IRQ_event(). This means there is a race somewhere. It is verified by the fact that this problem does not occur if same system is booted with only one cpu (maxcpus=1). Thanks Vivek - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/