[lkml]   [2001]   [Sep]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
Patch in this message
SubjectRe: rtl8139 nic dies with load (2.4.10, kt266)

Content-Type: multipart/mixed;

This is a multi-part message in MIME format.
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

> > Recompile, reboot, load eth0 until it locks up, and send us the dmesg
> > output.
> ok done.
> i've attached the zipped log (>200k).
> the most interesting part ist maybe the following:
> rtl8139_rx_err: eth0: Ethernet frame had errors, status 194f4571.
> rtl8139_set_rx_mode: ENTER
> rtl8139_set_rx_mode: eth0: rtl8139_set_rx_mode(1003) done -- Rx config
> 00000000.
> ether_crc: ENTER
> ether_crc: EXIT, returning 2141400475
> rtl8139_set_rx_mode: EXIT
> hmm faulty ethernet frame, nic broken ?

No - a few frame errors are acceptable. Lots of electical noise, long
cable, bad cable, whatever.
The driver must recover from such errors.

But I think I found the error:
* set_rx_mode optimizes away the configuration change if it thinks that
the configuration didn't change.
* rtl_8139_rx_err changes the configuration of the NIC chip without
updating tp->rx_config.

Could you try the attached patch?

Content-Type: text/plain; charset=us-ascii;
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;

--- 2.4/drivers/net/8139too.c Sun Sep 23 21:20:35 2001
+++ build-2.4/drivers/net/8139too.c Sun Sep 30 17:57:40 2001
@@ -1865,6 +1865,7 @@

/* disable receive */
RTL_W8 (ChipCmd, CmdTxEnb);
+ tp->rx_config = 0;

/* A.C.: Reset the multicast list. */
rtl8139_set_rx_mode (dev);
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
More majordomo info at
Please read the FAQ at

 \ /
  Last update: 2005-03-22 13:03    [W:0.026 / U:2.796 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site