Re: 2.1.20/ne2000: Tx request while isr active

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


On Sun, 30 Mar 1997, Snow Cat wrote:

> Hi,
>
> With Linux 2.1.30, I have a weird problem with my NE2000 clone
> (Linksys EtherPCI LAN Card II). Once I start to use the card heavily,
> the screen is filled with the following message:
>
> eth0: Tx request while isr active
[SNIPPED]

Here is a temporary patch sent by Paul. I patched 8390.c to prevent it
from being interrupted as a temporary "fix" to get on-the-air.

Hi,

> test bleeding-edge stuff. I haven't yet much looked into the impact of
> the new code on uni-processor machines, but I'd certainly appreciate
> comments and potential patches for UP-related issues too...

On UP boxes, it happily runs bottom half handlers while in an interrupt,
which has caused the "eth0: Tx request while ISR is active" messages.
The following two line patch fixes that problem. Looks like a simple
thinko-typo. You can decide if the atomic ops are really required or
just overkill :)

Regards,
Paul.

----------------------

--- 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

Cheers,
Dick Johnson
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Richard B. Johnson
Project Engineer
Analogic Corporation
Voice : (508) 977-3000 ext. 3754
Fax : (508) 532-6097
Modem : (508) 977-6870
Ftp : ftp@boneserver.analogic.com
Email : rjohnson@analogic.com, johnson@analogic.com
Penguin : Linux version 2.1.30 on an i586 machine (66.15 BogoMips).
Warning : I read unsolicited mail for $350.00 per hour. Supply billing address.
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-