Re: [RFC] [PATCH] Fix misrouted interrupts deadlocks

From: Pavel Emelianov
Date: Tue Nov 21 2006 - 03:15:43 EST


> Hi Pavel,
>
> If I backout your changes, everything works fine. So it looks like that
> the problem I am facing is because of your patch but I don't have a logical
> explanation yet that why the problem is there. Just realasing a lock
> which is not currently acquired should not hang the system?


Hm... A simple grep over the code showed that note_interrupt
is called w/o desc->lock in all places but __do_IRQ(). And this
looks like an error at least for the following reason:
note_interrupt() calls __report_bad_irq() and __report_bad_irq()
does require desc->lock to be held. So I suppose that we have
to do spin_lock(&desc->lock) before calling note_interrupt().
I'll prepare a patch in a moment.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/