Messages in this thread Patch in this message | | | Date | Thu, 23 Oct 2003 13:30:28 +0200 | From | Mikael Pettersson <> | Subject | Re: [BUG somewhere] 2.6.0-test8 irq.c, IRQ_INPROGRESS ? |
| |
Linus Torvalds writes: > On Wed, 22 Oct 2003, M.H.VanLeeuwen wrote: > > > > I'm seeing an NMI Watchdog detected LOCKUP go away when I revert this patch > > previously added into test8. > > Yes, the thing is buggy. > > It's not correct for "disable_irq_nosync()" users, and reverting it is the > right thing to do. Thanks for the report. > > Marcelo, please note if you played with this in 2.4.x.. > > Linus > > ------ > > diff -Nru a/arch/i386/kernel/irq.c b/arch/i386/kernel/irq.c > > --- a/arch/i386/kernel/irq.c Fri Oct 17 14:43:50 2003 > > +++ b/arch/i386/kernel/irq.c Fri Oct 17 14:43:50 2003 > > @@ -378,7 +380,7 @@ > > spin_lock_irqsave(&desc->lock, flags); > > switch (desc->depth) { > > case 1: { > > - unsigned int status = desc->status & ~IRQ_DISABLED; > > + unsigned int status = desc->status & ~(IRQ_DISABLED | IRQ_INPROGRESS);
It seems 2.4.23-pre8 included something like this apparently broken change (see diff from -pre7 below). Should it be reverted?
--- linux-2.4.23-pre7/arch/i386/kernel/irq.c 2003-10-23 13:17:43.700067608 +0200 +++ linux-2.4.23-pre8/arch/i386/kernel/irq.c 2003-10-23 13:17:10.071202512 +0200 @@ -1036,7 +1036,7 @@ if (!shared) { desc->depth = 0; - desc->status &= ~(IRQ_DISABLED | IRQ_AUTODETECT | IRQ_WAITING); + desc->status &= ~(IRQ_DISABLED | IRQ_AUTODETECT | IRQ_WAITING | IRQ_INPROGRESS); desc->handler->startup(irq); } spin_unlock_irqrestore(&desc->lock,flags); - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |