[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1282626102.2378.1351.camel@edumazet-laptop>
Date: Tue, 24 Aug 2010 07:01:42 +0200
From: Eric Dumazet <eric.dumazet@...il.com>
To: Plamen Petrov <pvp-lsts@...uni-ruse.bg>
Cc: Jarek Poplawski <jarkao2@...il.com>,
Andrew Morton <akpm@...ux-foundation.org>,
netdev@...r.kernel.org, bugzilla-daemon@...zilla.kernel.org,
bugme-daemon@...zilla.kernel.org
Subject: Re: [Bugme-new] [Bug 16626] New: Machine hangs with EIP at
skb_copy_and_csum_dev
Le mardi 24 août 2010 à 07:51 +0300, Plamen Petrov a écrit :
> So far - not so good. :(
>
> After I left the machine, i rebooted once. Then I logged in
> via ssh, and turned gro back ON for the tg3 nic - and in the
> next 30 minutes - another reboot.
>
> Today I will try to capture a picture of the oops/warning
> with my phone camera, because contrary to what you suggest,
> Jarek, there are no messages in the system logs.
Hmm... I was thinking adding a call __skb_linearize(), just in case...
diff --git a/drivers/net/8139too.c b/drivers/net/8139too.c
index f5166dc..10928a2 100644
--- a/drivers/net/8139too.c
+++ b/drivers/net/8139too.c
@@ -1696,7 +1696,7 @@ static netdev_tx_t rtl8139_start_xmit (struct sk_buff *skb,
entry = tp->cur_tx % NUM_TX_DESC;
/* Note: the chip doesn't have auto-pad! */
- if (likely(len < TX_BUF_SIZE)) {
+ if (likely(len < TX_BUF_SIZE && !__skb_linearize(skb))) {
if (len < ETH_ZLEN)
memset(tp->tx_buf[entry], 0, ETH_ZLEN);
skb_copy_and_csum_dev(skb, tp->tx_buf[entry]);
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists