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; }