diff options
author | Stephen Hemminger <shemminger@linux-foundation.org> | 2007-02-06 13:45:41 -0500 |
---|---|---|
committer | Jeff Garzik <jeff@garzik.org> | 2007-02-07 18:50:42 -0500 |
commit | 4a50a876ac325a45de1b582571c1248648801b52 (patch) | |
tree | 8eb63fa0d5714587231270882b2135d1b59fc6bb | |
parent | b02a92586dca362b0b76ad527b91bd44ce58ece5 (diff) |
sky2: TSO support for EC_U
The Yukon EC_U chipset apparently supports TSO but only for non-Jumbo
frame sizes because it lacks a Ram buffer.
Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
-rw-r--r-- | drivers/net/sky2.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/drivers/net/sky2.c b/drivers/net/sky2.c index 5abcf853e98b..e97dc299b563 100644 --- a/drivers/net/sky2.c +++ b/drivers/net/sky2.c | |||
@@ -1895,8 +1895,9 @@ static int sky2_change_mtu(struct net_device *dev, int new_mtu) | |||
1895 | if (new_mtu < ETH_ZLEN || new_mtu > ETH_JUMBO_MTU) | 1895 | if (new_mtu < ETH_ZLEN || new_mtu > ETH_JUMBO_MTU) |
1896 | return -EINVAL; | 1896 | return -EINVAL; |
1897 | 1897 | ||
1898 | /* TSO on Yukon Ultra and MTU > 1500 not supported */ | ||
1898 | if (hw->chip_id == CHIP_ID_YUKON_EC_U && new_mtu > ETH_DATA_LEN) | 1899 | if (hw->chip_id == CHIP_ID_YUKON_EC_U && new_mtu > ETH_DATA_LEN) |
1899 | return -EINVAL; | 1900 | dev->features &= ~NETIF_F_TSO; |
1900 | 1901 | ||
1901 | if (!netif_running(dev)) { | 1902 | if (!netif_running(dev)) { |
1902 | dev->mtu = new_mtu; | 1903 | dev->mtu = new_mtu; |
@@ -3350,11 +3351,9 @@ static __devinit struct net_device *sky2_init_netdev(struct sky2_hw *hw, | |||
3350 | 3351 | ||
3351 | sky2->port = port; | 3352 | sky2->port = port; |
3352 | 3353 | ||
3353 | if (hw->chip_id != CHIP_ID_YUKON_EC_U) | 3354 | dev->features |= NETIF_F_TSO | NETIF_F_IP_CSUM | NETIF_F_SG; |
3354 | dev->features |= NETIF_F_TSO; | ||
3355 | if (highmem) | 3355 | if (highmem) |
3356 | dev->features |= NETIF_F_HIGHDMA; | 3356 | dev->features |= NETIF_F_HIGHDMA; |
3357 | dev->features |= NETIF_F_IP_CSUM | NETIF_F_SG; | ||
3358 | 3357 | ||
3359 | #ifdef SKY2_VLAN_TAG_USED | 3358 | #ifdef SKY2_VLAN_TAG_USED |
3360 | dev->features |= NETIF_F_HW_VLAN_TX | NETIF_F_HW_VLAN_RX; | 3359 | dev->features |= NETIF_F_HW_VLAN_TX | NETIF_F_HW_VLAN_RX; |