On Fri, Mar 31, 2006 at 04:23:02PM +0400, Boris B. Zhmurov wrote:
>
> I'm already using kernel with second Herbert's patch. We'll see...
If it still fails, here is a debugging patch which should tell us
whether we need to look elsewhere.
Thanks,
--
Visit Openswan at http://www.openswan.org/
Email: Herbert Xu ~{PmV>HI~} <[EMAIL PROTECTED]>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt
diff --git a/drivers/net/e1000/e1000_main.c b/drivers/net/e1000/e1000_main.c
index 49cd096..64ac6f4 100644
--- a/drivers/net/e1000/e1000_main.c
+++ b/drivers/net/e1000/e1000_main.c
@@ -2906,6 +2906,13 @@
e1000_tx_map(adapter, tx_ring, skb, first,
max_per_txd, nr_frags, mss));
+ tso = tx_ring->next_to_use - first;
+ if (tso < 0)
+ tso += tx_ring->count;
+ if (unlikely(tso > count))
+ printk(KERN_ERR "e1000 bug: mss=%d, len=%d, frags=%d, est=%d,
actual=%d\n",
+ mss, skb->len, nr_frags, count, tso);
+
netdev->trans_start = jiffies;
/* Make sure there is space in the ring for the next send. */