Attached fix has been submitted to netdev. Ayaz Eric Dumazet wrote:
Le mardi 13 avril 2010 à 14:43 -0700, David Miller a écrit :Do you really come to the conclusion that TSO is broken with the above test results? I would conclude that there is a TX checksumming issue, since merely turning TSO off does not fix the problem whereas turning TX checksumming off does.Indeed, we clarified the point and it is a TX checksum issue.
--- old/drivers/net/forcedeth.c 2010-04-14 01:18:51.000000000 -0400
+++ new/drivers/net/forcedeth.c 2010-04-14 01:20:40.000000000 -0400
@@ -5901,7 +5901,7 @@
/* Limit the number of tx's outstanding for hw bug */
if (id->driver_data & DEV_NEED_TX_LIMIT) {
np->tx_limit = 1;
- if ((id->driver_data & DEV_NEED_TX_LIMIT2) &&
+ if (((id->driver_data & DEV_NEED_TX_LIMIT2) == DEV_NEED_TX_LIMIT2) &&
pci_dev->revision >= 0xA2)
np->tx_limit = 0;
}