* Re: [realtek] System hang with heavy network traffic using rtl8139c
@ 2002-06-25 6:53 Stephan Brauss
0 siblings, 0 replies; only message in thread
From: Stephan Brauss @ 2002-06-25 6:53 UTC (permalink / raw)
To: linux-kernel
Hello,
maybe I had a similar problem. In my case, the rtl8139 chip reports
a negative buffer size and a following dev_alloc_skb() crashed my system.
The problem was caused by receive buffer overruns that occur if the CPU is not fast
enough to fetch all data. Please check if you see rtl8139-realted kernel messages
during the test.
I reported this problem to the realtek list some time ago, but, as far as I know,
it is not included in the test version 1.18 until know.
Here is my patch of rtl8129_rx():
} else {
/* Malloc up new buffer, compatible with net-2e. */
/* Omit the four octet CRC from the length. */
struct sk_buff *skb;
int pkt_size = rx_size - 4;
+ if(pkt_size<0)
+ {
+ if (tp->msg_level & NETIF_MSG_DRV)
+ printk(KERN_ERR"%s: Impossible packet length.\n",dev->name);
+ tp->stats.rx_dropped++;
+ rtl_hw_start(dev);
+ break;
+ }
+
skb = dev_alloc_skb(pkt_size + 2);
if (skb == NULL) {
Additionally, I think it is a good idea to increase the receive buffer size to the maximum by setting
RX_BUF_LEN_IDX from 2 to 3.
If you read older messages of the realtek list, you can find additional driver changes that are maybe
helpfull for you.
Stephan
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2002-06-25 6:58 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2002-06-25 6:53 [realtek] System hang with heavy network traffic using rtl8139c Stephan Brauss
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox