[PATCH] sky2: disable rx checksum on Yukon XL
authorStephen Hemminger <shemminger@osdl.org>
Fri, 9 Dec 2005 19:35:11 +0000 (11:35 -0800)
committerJeff Garzik <jgarzik@pobox.com>
Mon, 12 Dec 2005 20:27:22 +0000 (15:27 -0500)
Under load, my SysKonnect SK-9S22 sees duplicate checksums from
earlier packets.  Doesn't happen on other platforms so just disable
receive checksum there.

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
drivers/net/sky2.c

index cdcbf72..b9c0aaf 100644 (file)
@@ -2926,7 +2926,13 @@ static __devinit struct net_device *sky2_init_netdev(struct sky2_hw *hw,
        sky2->duplex = -1;
        sky2->speed = -1;
        sky2->advertising = sky2_supported_modes(hw);
-       sky2->rx_csum = 1;
+
+       /* Receive checksum disabled for Yukon XL
+        * because of observed problems with incorrect
+        * values when multiple packets are received in one interrupt
+        */
+       sky2->rx_csum = (hw->chip_id != CHIP_ID_YUKON_XL);
+
        INIT_WORK(&sky2->phy_task, sky2_phy_task, sky2);
        init_MUTEX(&sky2->phy_sema);
        sky2->tx_pending = TX_DEF_PENDING;