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

Content-Type: multipart/mixed;
boundary="------------E6DF444F67EB539614CC6DDF"

This is a multi-part message in MIME format.
--------------E6DF444F67EB539614CC6DDF
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?

--
Manfred
--------------E6DF444F67EB539614CC6DDF
Content-Type: text/plain; charset=us-ascii;
name="patch-8139-rx_start"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
filename="patch-8139-rx_start"

--- 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);
--------------E6DF444F67EB539614CC6DDF--
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

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