Re: rtl8139 nic dies with load (2.4.10, kt266)

From: Manfred Spraul (manfred@colorfullife.com)
Date: Sun Sep 30 2001 - 11:06:19 EST


 
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/



This archive was generated by hypermail 2b29 : Sun Sep 30 2001 - 21:01:12 EST