aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/sky2.c
diff options
context:
space:
mode:
authorStephen Hemminger <shemminger@osdl.org>2005-12-09 11:35:11 -0800
committerJeff Garzik <jgarzik@pobox.com>2005-12-12 15:27:22 -0500
commit75d070c56fa77913b165947f046304efcd38e516 (patch)
tree0f9117ae2530aedb6c5536d63bd029b10873daa7 /drivers/net/sky2.c
parent[PATCH] sky2: turn on tx flow control (diff)
downloadlinux-dev-75d070c56fa77913b165947f046304efcd38e516.tar.xz
linux-dev-75d070c56fa77913b165947f046304efcd38e516.zip
[PATCH] sky2: disable rx checksum on Yukon XL
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>
Diffstat (limited to 'drivers/net/sky2.c')
-rw-r--r--drivers/net/sky2.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/drivers/net/sky2.c b/drivers/net/sky2.c
index cdcbf727f884..b9c0aafb0316 100644
--- a/drivers/net/sky2.c
+++ b/drivers/net/sky2.c
@@ -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;