Re: 2.1.20/ne2000: Tx request while isr active

David S. Miller (davem@jenolan.rutgers.edu)
Sun, 30 Mar 1997 21:52:07 -0500


Date: Sun, 30 Mar 1997 21:42:33 -0500 (EST)
From: "Richard B. Johnson" <root@analogic.com>

Yes I know Paul posted this patch first...

--- linux/arch/i386/kernel/irq.c.orig Fri Mar 28 14:37:06 1997
+++ linux/arch/i386/kernel/irq.c Fri Mar 28 14:37:10 1997
@@ -485,8 +485,8 @@

#else

-#define irq_enter(cpu, irq) do { } while (0)
-#define irq_exit(cpu, irq) do { } while (0)
+#define irq_enter(cpu, irq) atomic_inc(&intr_count)
+#define irq_exit(cpu, irq) atomic_dec(&intr_count)

#endif

This is not the real fix. In fact Linus and myself are going to
delete intr_count altogether as it is a brain damaged concept
especially with the new SMP code. Any instance you see referencing
intr_count in the traditional send, ie.

if(intr_count)
processing_if_in_interrupt_handler();

change that test to

if(in_interrupt())

and make sure that file gets asm/hardirq.h included

---------------------------------------------////
Yow! 11.26 MB/s remote host TCP bandwidth & ////
199 usec remote TCP latency over 100Mb/s ////
ethernet. Beat that! ////
-----------------------------------------////__________ o
David S. Miller, davem@caip.rutgers.edu /_____________/ / // /_/ ><