Thread (10 messages) 10 messages, 4 authors, 2007-08-14

Re: [ PATCH ] PowerPC cascade UIC IRQ handler fix.

From: Josh Boyer <hidden>
Date: 2007-08-02 20:10:30

On Thu, 2 Aug 2007 13:48:48 +1000
David Gibson [off-list ref] wrote:
On Mon, Jul 30, 2007 at 08:35:17PM +0400, Valentine Barshak wrote:
quoted
PPC44x cascade UIC irq handler fix.

According to PPC44x UM, if an interrupt is configured as
level-sensitive, and a clear is attempted on the UIC_SR, the UIC_SR
field is not cleared if the incoming interrupt signal is at the
asserted polarity. This causes us to enter a cascade handler twice,
since we first ack parent UIC interrupt and ack child UIC one after
that. The patch checks child UIC msr value and returns IRQ_HANDLED
if there're no pending interrupts. Otherwise we get a kernel panic
with a "Fatal exception in interrupt" (illegal vector).
The patch also fixes status flags.

Signed-off-by: Valentine Barshak <redacted>
Hrm... This doesn't seem like the right fix to me.  Instead, I think
the cascaded IRQ handler should ack the interrupt on the child first.
I'm a little surprised it doesn't at the moment.
Agreed.  Anyone going to hack up a patch for that?

josh
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help