diff options
author | Jie Yang <jie.yang@atheros.com> | 2009-12-01 12:18:34 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-12-02 03:37:07 -0500 |
commit | 7c7afb083675b3d4d012a2aacec3a958ba484ab0 (patch) | |
tree | 7eb338956c0b1475c61f195e727de66957f71025 /drivers/net | |
parent | b2722b1c3a893ec6021508da15b32282ec79f4da (diff) |
atl1e:disable NETIF_F_TSO6 for hardware limit
For hardware limit to support TSOV6, just disable this feature
Signed-off-by: Jie Yang <jie.yang@atheros.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net')
-rw-r--r-- | drivers/net/atl1e/atl1e_main.c | 36 |
1 files changed, 0 insertions, 36 deletions
diff --git a/drivers/net/atl1e/atl1e_main.c b/drivers/net/atl1e/atl1e_main.c index 955da733c2ad..1b5facfcdc08 100644 --- a/drivers/net/atl1e/atl1e_main.c +++ b/drivers/net/atl1e/atl1e_main.c | |||
@@ -1666,41 +1666,6 @@ static int atl1e_tso_csum(struct atl1e_adapter *adapter, | |||
1666 | } | 1666 | } |
1667 | return 0; | 1667 | return 0; |
1668 | } | 1668 | } |
1669 | |||
1670 | if (offload_type & SKB_GSO_TCPV6) { | ||
1671 | real_len = (((unsigned char *)ipv6_hdr(skb) - skb->data) | ||
1672 | + ntohs(ipv6_hdr(skb)->payload_len)); | ||
1673 | if (real_len < skb->len) | ||
1674 | pskb_trim(skb, real_len); | ||
1675 | |||
1676 | /* check payload == 0 byte ? */ | ||
1677 | hdr_len = (skb_transport_offset(skb) + tcp_hdrlen(skb)); | ||
1678 | if (unlikely(skb->len == hdr_len)) { | ||
1679 | /* only xsum need */ | ||
1680 | dev_warn(&pdev->dev, | ||
1681 | "IPV6 tso with zero data??\n"); | ||
1682 | goto check_sum; | ||
1683 | } else { | ||
1684 | tcp_hdr(skb)->check = ~csum_ipv6_magic( | ||
1685 | &ipv6_hdr(skb)->saddr, | ||
1686 | &ipv6_hdr(skb)->daddr, | ||
1687 | 0, IPPROTO_TCP, 0); | ||
1688 | tpd->word3 |= 1 << TPD_IP_VERSION_SHIFT; | ||
1689 | hdr_len >>= 1; | ||
1690 | tpd->word3 |= (hdr_len & TPD_V6_IPHLLO_MASK) << | ||
1691 | TPD_V6_IPHLLO_SHIFT; | ||
1692 | tpd->word3 |= ((hdr_len >> 3) & | ||
1693 | TPD_V6_IPHLHI_MASK) << | ||
1694 | TPD_V6_IPHLHI_SHIFT; | ||
1695 | tpd->word3 |= (tcp_hdrlen(skb) >> 2 & | ||
1696 | TPD_TCPHDRLEN_MASK) << | ||
1697 | TPD_TCPHDRLEN_SHIFT; | ||
1698 | tpd->word3 |= ((skb_shinfo(skb)->gso_size) & | ||
1699 | TPD_MSS_MASK) << TPD_MSS_SHIFT; | ||
1700 | tpd->word3 |= 1 << TPD_SEGMENT_EN_SHIFT; | ||
1701 | } | ||
1702 | } | ||
1703 | return 0; | ||
1704 | } | 1669 | } |
1705 | 1670 | ||
1706 | check_sum: | 1671 | check_sum: |
@@ -2289,7 +2254,6 @@ static int atl1e_init_netdev(struct net_device *netdev, struct pci_dev *pdev) | |||
2289 | NETIF_F_HW_VLAN_TX | NETIF_F_HW_VLAN_RX; | 2254 | NETIF_F_HW_VLAN_TX | NETIF_F_HW_VLAN_RX; |
2290 | netdev->features |= NETIF_F_LLTX; | 2255 | netdev->features |= NETIF_F_LLTX; |
2291 | netdev->features |= NETIF_F_TSO; | 2256 | netdev->features |= NETIF_F_TSO; |
2292 | netdev->features |= NETIF_F_TSO6; | ||
2293 | 2257 | ||
2294 | return 0; | 2258 | return 0; |
2295 | } | 2259 | } |