3c574TX: Too much work in interrupt
Paul LeMahieu
lemahieu@vigeland.paradise.caltech.edu
Sun Aug 2 22:30:14 1998
Hi,
I've got a 3Com 3c574-TX PCMCIA card in a Gateway 5100 laptop.
I'm using Linux 2.0.34 and pcmcia-cs-3.0.4.
The problem: I get many messages of the following sort:
kernel: eth0: Too much work in interrupt, status 2011.
kernel: eth0: Too much work in interrupt, status 2091.
For example, this is what I saw from a 4Mbyte ftp session:
Aug 2 19:13:00 solo1 kernel: eth0: Too much work in interrupt, status 2011.
Aug 2 19:13:17 solo1 last message repeated 185 times
Aug 2 19:13:17 solo1 kernel: eth0: Too much work in interrupt, status 2091.
Aug 2 19:13:17 solo1 kernel: eth0: Too much work in interrupt, status 2011.
Aug 2 19:13:18 solo1 last message repeated 233 times
Aug 2 19:13:18 solo1 kernel: eth0: Too much work in interrupt, status 2091.
Aug 2 19:13:18 solo1 kernel: eth0: Too much work in interrupt, status 2011.
Aug 2 19:13:18 solo1 last message repeated 237 times
Aug 2 19:13:18 solo1 kernel: eth0: Too much work in interrupt, status 2091.
Aug 2 19:13:18 solo1 kernel: eth0: Too much work in interrupt, status 2011.
Aug 2 19:13:19 solo1 last message k in interrupt, status 2011.
Aug 2 19:13:19 solo1 last message repeated 234 times
Aug 2 19:13:19 solo1 kernel: eth0: Too much work in interrupt, status 2091.
Aug 2 19:13:19 solo1 kernel: eth0: Too much work in interrupt, status 2011.
Aug 2 19:13:19 solo1 last message repeated 235 times
Aug 2 19:13:19 solo1 kernel:o1 last message repeated 235 times
Aug 2 19:13:19 solo1 kernel: eth0: Too much work in interrupt, status 2091.
Aug 2 19:13:19 solo1 kernel: eth0: Too much work in interrupt, status 2011.
The card seems to work fine, giving 0.3ms ping response times and
about 1300 KBytes/sec for a 4Mbyte ftp (sure, this isn't great
bandwidth, but I've learned not to expect much from a 16-bit PCMCIA bus.)
I tried fiddling with the max_interrupt_work parameter in the 3c574_cs.c
code, reducing it from 10 to 5 to 2. In fact, the log results
above are from a module where I had set max_interrupt_work = 2.
I actually made the modification in 3c574_cs.c, recompiled the modules,
and then put it in /lib/modules/2.0.34. As you can see, it doesn't
seem to make any difference. I can use the card, but I'm getting logged
to death. At least in my hardware configuration it appears to be a bug?
Here's what it looks like when I insert the card:
Aug 2 19:24:49 solo1 cardmgr[1809]: socket 0: 3Com 3c574TX Fast Ethernet
Aug 2 19:24:50 solo1 cardmgr[1809]: executing: 'insmod /lib/modules/2.0.34/pcmcia/3c574_cs.o'
Aug 2 19:24:50 solo1 kernel: 3c574_cs.c v1.06 4/17/98 Donald Becker/David Hinds, becker@cesdis.gsfc.nasa.gov.
Aug 2 19:24:50 solo1 kernel: loading device 'eth0'...
Aug 2 19:24:50 solo1 kernel: eth0: 3Com 3c574, port 0x300, irq 3, hw_addr 00:10:4B:5E:AF:04.
Aug 2 19:24:50 solo1 kernel: eth0: No acceleration memory window.
Aug 2 19:24:50 solo1 kernel: 64K FIFO split 1:1 Rx:Tx, autoselect MII interface.
Aug 2 19:24:50 solo1 kernel: MII transceiver at index 0, status 7809.
Aug 2 19:24:50 solo1 cardmgr[1809]: executing: './network start eth0'
Aug 2 19:24:50 solo1 cardmgr[1809]: + eth0
Aug 2 19:24:50 solo1 kernel: eth0: MII #0 status 7809, link partner capability 0000, setting half-duplex.
Any help would be greatly appreciated.
--Paul
Paul LeMahieu
lemahieu@paradise.caltech.edu