diff options
author | Stephen Hemminger <shemminger@osdl.org> | 2005-12-09 14:35:11 -0500 |
---|---|---|
committer | Jeff Garzik <jgarzik@pobox.com> | 2005-12-12 15:27:22 -0500 |
commit | 75d070c56fa77913b165947f046304efcd38e516 (patch) | |
tree | 0f9117ae2530aedb6c5536d63bd029b10873daa7 /drivers/net/sky2.c | |
parent | 585b56012f08a6edc598d17b28a6c434134bfaff (diff) |
[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.c | 8 |
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, | |||
2926 | sky2->duplex = -1; | 2926 | sky2->duplex = -1; |
2927 | sky2->speed = -1; | 2927 | sky2->speed = -1; |
2928 | sky2->advertising = sky2_supported_modes(hw); | 2928 | sky2->advertising = sky2_supported_modes(hw); |
2929 | sky2->rx_csum = 1; | 2929 | |
2930 | /* Receive checksum disabled for Yukon XL | ||
2931 | * because of observed problems with incorrect | ||
2932 | * values when multiple packets are received in one interrupt | ||
2933 | */ | ||
2934 | sky2->rx_csum = (hw->chip_id != CHIP_ID_YUKON_XL); | ||
2935 | |||
2930 | INIT_WORK(&sky2->phy_task, sky2_phy_task, sky2); | 2936 | INIT_WORK(&sky2->phy_task, sky2_phy_task, sky2); |
2931 | init_MUTEX(&sky2->phy_sema); | 2937 | init_MUTEX(&sky2->phy_sema); |
2932 | sky2->tx_pending = TX_DEF_PENDING; | 2938 | sky2->tx_pending = TX_DEF_PENDING; |