[realtek] RTL8139C gets stuck with Abnormal Interrupt / Oversized
Frame errors
Donald Becker
becker@scyld.com
Sat Nov 16 22:17:00 2002
On Sat, 16 Nov 2002, Vladimir I. wrote:
> As soon as there is a high-speed transfer from Ethernet to
> wireless (or vice versa) the chances of Ethernet getting stuck
> get very high. The CPU is really loaded during these moments as
> it's busy polling PCMCIA card (it doesn't support bus master).
Hmmm, that traffic level shouldn't cause this problem! You should check
out what is going on to load the CPU -- I suspect that the wireless card
device driver is disabling interrupt for a long time.
> So, the Ethernet gets stuck with the following message:
>
> kernel: rtl8139.c:v1.17 1/28/2002 Donald Becker, becker@scyld.com.
...
> kernel: eth0: Abnormal interrupt, status 00000011.
> kernel: eth0: Oversized Ethernet frame, status 63b9096a!
> kernel: eth0: Abnormal interrupt, status 00000070.
> kernel: eth0: Abnormal interrupt, status 00000021.
This was addressed with the following change:
----------------------------
revision 1.35
date: 2002/10/05 17:24:00; author: becker; state: Exp; lines: +66 -40
rtl8139.c:v1.21 10/5/2002
Split the abnormal and uncommon interrupt event handling into rtl_error().
Restart the receiver on a real RxUnderrun.
Call netif_link_up/down() on link change with the rtl8139 chip.
----------------------------
> The only thing I found out is that connecting to a switch
> supporting 802.3X flow control seems to help a lot, but still
> does not 100% solve the problem.
I'm surprised -- the chip is triggering flow control which should avoid
all overruns.
--
Donald Becker becker@scyld.com
Scyld Computing Corporation http://www.scyld.com
410 Severn Ave. Suite 210 Scyld Beowulf cluster system
Annapolis MD 21403 410-990-9993