Hello Kevin, Just copied your mail to the list, maybe your solution is also worth looking at. Remy > I had a similar issue when using the chained GPIO interrupts on OMAP > under PREEMPT_RT. > > I believe the chained handler itself is supposed to be doing the > ack/unmask instead of the simple_handler. > > However, currently there is no way for the chained handler to know > when the threaded handler has acutally run. So the way I fixed this > was to have the simple handler call the chip->end hook so that the > chained handler could do the ack/unmask after the threaded handler has > actually run. > > I've been using this against the -rt patch since 2.6.21, and submitted > and RFC a while back, but got no comments. > > This patch is against 2.6.24-rc2-rt1. > > Signed-off-by: Kevin Hilman <khilman@xxxxxxxxxx> > > diff --git a/kernel/irq/manage.c b/kernel/irq/manage.c > index b35d209..2f9e09e 100644 > --- a/kernel/irq/manage.c > +++ b/kernel/irq/manage.c > @@ -661,6 +661,8 @@ static void thread_simple_irq(irq_desc_t *desc) > note_interrupt(irq, desc, action_ret); > } > desc->status &= ~IRQ_INPROGRESS; > + if (desc->chip->end) > + desc->chip->end(irq); > } > > /* > > > > - To unsubscribe from this list: send the line "unsubscribe linux-rt-users" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html