diff options
Diffstat (limited to 'drivers/net/atl1c/atl1c_ethtool.c')
-rw-r--r-- | drivers/net/atl1c/atl1c_ethtool.c | 17 |
1 files changed, 5 insertions, 12 deletions
diff --git a/drivers/net/atl1c/atl1c_ethtool.c b/drivers/net/atl1c/atl1c_ethtool.c index 7c521508313c..7be884d0aaf6 100644 --- a/drivers/net/atl1c/atl1c_ethtool.c +++ b/drivers/net/atl1c/atl1c_ethtool.c | |||
@@ -50,13 +50,13 @@ static int atl1c_get_settings(struct net_device *netdev, | |||
50 | ecmd->transceiver = XCVR_INTERNAL; | 50 | ecmd->transceiver = XCVR_INTERNAL; |
51 | 51 | ||
52 | if (adapter->link_speed != SPEED_0) { | 52 | if (adapter->link_speed != SPEED_0) { |
53 | ecmd->speed = adapter->link_speed; | 53 | ethtool_cmd_speed_set(ecmd, adapter->link_speed); |
54 | if (adapter->link_duplex == FULL_DUPLEX) | 54 | if (adapter->link_duplex == FULL_DUPLEX) |
55 | ecmd->duplex = DUPLEX_FULL; | 55 | ecmd->duplex = DUPLEX_FULL; |
56 | else | 56 | else |
57 | ecmd->duplex = DUPLEX_HALF; | 57 | ecmd->duplex = DUPLEX_HALF; |
58 | } else { | 58 | } else { |
59 | ecmd->speed = -1; | 59 | ethtool_cmd_speed_set(ecmd, -1); |
60 | ecmd->duplex = -1; | 60 | ecmd->duplex = -1; |
61 | } | 61 | } |
62 | 62 | ||
@@ -77,7 +77,8 @@ static int atl1c_set_settings(struct net_device *netdev, | |||
77 | if (ecmd->autoneg == AUTONEG_ENABLE) { | 77 | if (ecmd->autoneg == AUTONEG_ENABLE) { |
78 | autoneg_advertised = ADVERTISED_Autoneg; | 78 | autoneg_advertised = ADVERTISED_Autoneg; |
79 | } else { | 79 | } else { |
80 | if (ecmd->speed == SPEED_1000) { | 80 | u32 speed = ethtool_cmd_speed(ecmd); |
81 | if (speed == SPEED_1000) { | ||
81 | if (ecmd->duplex != DUPLEX_FULL) { | 82 | if (ecmd->duplex != DUPLEX_FULL) { |
82 | if (netif_msg_link(adapter)) | 83 | if (netif_msg_link(adapter)) |
83 | dev_warn(&adapter->pdev->dev, | 84 | dev_warn(&adapter->pdev->dev, |
@@ -86,7 +87,7 @@ static int atl1c_set_settings(struct net_device *netdev, | |||
86 | return -EINVAL; | 87 | return -EINVAL; |
87 | } | 88 | } |
88 | autoneg_advertised = ADVERTISED_1000baseT_Full; | 89 | autoneg_advertised = ADVERTISED_1000baseT_Full; |
89 | } else if (ecmd->speed == SPEED_100) { | 90 | } else if (speed == SPEED_100) { |
90 | if (ecmd->duplex == DUPLEX_FULL) | 91 | if (ecmd->duplex == DUPLEX_FULL) |
91 | autoneg_advertised = ADVERTISED_100baseT_Full; | 92 | autoneg_advertised = ADVERTISED_100baseT_Full; |
92 | else | 93 | else |
@@ -113,11 +114,6 @@ static int atl1c_set_settings(struct net_device *netdev, | |||
113 | return 0; | 114 | return 0; |
114 | } | 115 | } |
115 | 116 | ||
116 | static u32 atl1c_get_tx_csum(struct net_device *netdev) | ||
117 | { | ||
118 | return (netdev->features & NETIF_F_HW_CSUM) != 0; | ||
119 | } | ||
120 | |||
121 | static u32 atl1c_get_msglevel(struct net_device *netdev) | 117 | static u32 atl1c_get_msglevel(struct net_device *netdev) |
122 | { | 118 | { |
123 | struct atl1c_adapter *adapter = netdev_priv(netdev); | 119 | struct atl1c_adapter *adapter = netdev_priv(netdev); |
@@ -307,9 +303,6 @@ static const struct ethtool_ops atl1c_ethtool_ops = { | |||
307 | .get_link = ethtool_op_get_link, | 303 | .get_link = ethtool_op_get_link, |
308 | .get_eeprom_len = atl1c_get_eeprom_len, | 304 | .get_eeprom_len = atl1c_get_eeprom_len, |
309 | .get_eeprom = atl1c_get_eeprom, | 305 | .get_eeprom = atl1c_get_eeprom, |
310 | .get_tx_csum = atl1c_get_tx_csum, | ||
311 | .get_sg = ethtool_op_get_sg, | ||
312 | .set_sg = ethtool_op_set_sg, | ||
313 | }; | 306 | }; |
314 | 307 | ||
315 | void atl1c_set_ethtool_ops(struct net_device *netdev) | 308 | void atl1c_set_ethtool_ops(struct net_device *netdev) |