aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/atl1e
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/atl1e')
-rw-r--r--drivers/net/atl1e/atl1e_ethtool.c17
-rw-r--r--drivers/net/atl1e/atl1e_main.c38
2 files changed, 3 insertions, 52 deletions
diff --git a/drivers/net/atl1e/atl1e_ethtool.c b/drivers/net/atl1e/atl1e_ethtool.c
index 60edb9f232bb..a76006c1bc6b 100644
--- a/drivers/net/atl1e/atl1e_ethtool.c
+++ b/drivers/net/atl1e/atl1e_ethtool.c
@@ -131,11 +131,6 @@ static int atl1e_set_settings(struct net_device *netdev,
131 return 0; 131 return 0;
132} 132}
133 133
134static u32 atl1e_get_tx_csum(struct net_device *netdev)
135{
136 return (netdev->features & NETIF_F_HW_CSUM) != 0;
137}
138
139static u32 atl1e_get_msglevel(struct net_device *netdev) 134static u32 atl1e_get_msglevel(struct net_device *netdev)
140{ 135{
141#ifdef DBG 136#ifdef DBG
@@ -145,10 +140,6 @@ static u32 atl1e_get_msglevel(struct net_device *netdev)
145#endif 140#endif
146} 141}
147 142
148static void atl1e_set_msglevel(struct net_device *netdev, u32 data)
149{
150}
151
152static int atl1e_get_regs_len(struct net_device *netdev) 143static int atl1e_get_regs_len(struct net_device *netdev)
153{ 144{
154 return AT_REGS_LEN * sizeof(u32); 145 return AT_REGS_LEN * sizeof(u32);
@@ -387,18 +378,14 @@ static const struct ethtool_ops atl1e_ethtool_ops = {
387 .get_wol = atl1e_get_wol, 378 .get_wol = atl1e_get_wol,
388 .set_wol = atl1e_set_wol, 379 .set_wol = atl1e_set_wol,
389 .get_msglevel = atl1e_get_msglevel, 380 .get_msglevel = atl1e_get_msglevel,
390 .set_msglevel = atl1e_set_msglevel,
391 .nway_reset = atl1e_nway_reset, 381 .nway_reset = atl1e_nway_reset,
392 .get_link = ethtool_op_get_link, 382 .get_link = ethtool_op_get_link,
393 .get_eeprom_len = atl1e_get_eeprom_len, 383 .get_eeprom_len = atl1e_get_eeprom_len,
394 .get_eeprom = atl1e_get_eeprom, 384 .get_eeprom = atl1e_get_eeprom,
395 .set_eeprom = atl1e_set_eeprom, 385 .set_eeprom = atl1e_set_eeprom,
396 .get_tx_csum = atl1e_get_tx_csum, 386 .set_tx_csum = ethtool_op_set_tx_hw_csum,
397 .get_sg = ethtool_op_get_sg,
398 .set_sg = ethtool_op_set_sg, 387 .set_sg = ethtool_op_set_sg,
399#ifdef NETIF_F_TSO 388 .set_tso = ethtool_op_set_tso,
400 .get_tso = ethtool_op_get_tso,
401#endif
402}; 389};
403 390
404void atl1e_set_ethtool_ops(struct net_device *netdev) 391void atl1e_set_ethtool_ops(struct net_device *netdev)
diff --git a/drivers/net/atl1e/atl1e_main.c b/drivers/net/atl1e/atl1e_main.c
index 8b889ab544b0..08f8c0969e9b 100644
--- a/drivers/net/atl1e/atl1e_main.c
+++ b/drivers/net/atl1e/atl1e_main.c
@@ -1664,41 +1664,6 @@ static int atl1e_tso_csum(struct atl1e_adapter *adapter,
1664 } 1664 }
1665 return 0; 1665 return 0;
1666 } 1666 }
1667
1668 if (offload_type & SKB_GSO_TCPV6) {
1669 real_len = (((unsigned char *)ipv6_hdr(skb) - skb->data)
1670 + ntohs(ipv6_hdr(skb)->payload_len));
1671 if (real_len < skb->len)
1672 pskb_trim(skb, real_len);
1673
1674 /* check payload == 0 byte ? */
1675 hdr_len = (skb_transport_offset(skb) + tcp_hdrlen(skb));
1676 if (unlikely(skb->len == hdr_len)) {
1677 /* only xsum need */
1678 dev_warn(&pdev->dev,
1679 "IPV6 tso with zero data??\n");
1680 goto check_sum;
1681 } else {
1682 tcp_hdr(skb)->check = ~csum_ipv6_magic(
1683 &ipv6_hdr(skb)->saddr,
1684 &ipv6_hdr(skb)->daddr,
1685 0, IPPROTO_TCP, 0);
1686 tpd->word3 |= 1 << TPD_IP_VERSION_SHIFT;
1687 hdr_len >>= 1;
1688 tpd->word3 |= (hdr_len & TPD_V6_IPHLLO_MASK) <<
1689 TPD_V6_IPHLLO_SHIFT;
1690 tpd->word3 |= ((hdr_len >> 3) &
1691 TPD_V6_IPHLHI_MASK) <<
1692 TPD_V6_IPHLHI_SHIFT;
1693 tpd->word3 |= (tcp_hdrlen(skb) >> 2 &
1694 TPD_TCPHDRLEN_MASK) <<
1695 TPD_TCPHDRLEN_SHIFT;
1696 tpd->word3 |= ((skb_shinfo(skb)->gso_size) &
1697 TPD_MSS_MASK) << TPD_MSS_SHIFT;
1698 tpd->word3 |= 1 << TPD_SEGMENT_EN_SHIFT;
1699 }
1700 }
1701 return 0;
1702 } 1667 }
1703 1668
1704check_sum: 1669check_sum:
@@ -1930,7 +1895,7 @@ static int atl1e_request_irq(struct atl1e_adapter *adapter)
1930 1895
1931 if (!adapter->have_msi) 1896 if (!adapter->have_msi)
1932 flags |= IRQF_SHARED; 1897 flags |= IRQF_SHARED;
1933 err = request_irq(adapter->pdev->irq, &atl1e_intr, flags, 1898 err = request_irq(adapter->pdev->irq, atl1e_intr, flags,
1934 netdev->name, netdev); 1899 netdev->name, netdev);
1935 if (err) { 1900 if (err) {
1936 dev_dbg(&pdev->dev, 1901 dev_dbg(&pdev->dev,
@@ -2287,7 +2252,6 @@ static int atl1e_init_netdev(struct net_device *netdev, struct pci_dev *pdev)
2287 NETIF_F_HW_VLAN_TX | NETIF_F_HW_VLAN_RX; 2252 NETIF_F_HW_VLAN_TX | NETIF_F_HW_VLAN_RX;
2288 netdev->features |= NETIF_F_LLTX; 2253 netdev->features |= NETIF_F_LLTX;
2289 netdev->features |= NETIF_F_TSO; 2254 netdev->features |= NETIF_F_TSO;
2290 netdev->features |= NETIF_F_TSO6;
2291 2255
2292 return 0; 2256 return 0;
2293} 2257}