ethtool: Use full 32 bit speed range in ethtool's set_settings
[cascardo/linux.git] / drivers / net / atl1c / atl1c_ethtool.c
index 7c52150..b1eceee 100644 (file)
@@ -77,7 +77,8 @@ static int atl1c_set_settings(struct net_device *netdev,
        if (ecmd->autoneg == AUTONEG_ENABLE) {
                autoneg_advertised = ADVERTISED_Autoneg;
        } else {
-               if (ecmd->speed == SPEED_1000) {
+               u32 speed = ethtool_cmd_speed(ecmd);
+               if (speed == SPEED_1000) {
                        if (ecmd->duplex != DUPLEX_FULL) {
                                if (netif_msg_link(adapter))
                                        dev_warn(&adapter->pdev->dev,
@@ -86,7 +87,7 @@ static int atl1c_set_settings(struct net_device *netdev,
                                return -EINVAL;
                        }
                        autoneg_advertised = ADVERTISED_1000baseT_Full;
-               } else if (ecmd->speed == SPEED_100) {
+               } else if (speed == SPEED_100) {
                        if (ecmd->duplex == DUPLEX_FULL)
                                autoneg_advertised = ADVERTISED_100baseT_Full;
                        else
@@ -113,11 +114,6 @@ static int atl1c_set_settings(struct net_device *netdev,
        return 0;
 }
 
-static u32 atl1c_get_tx_csum(struct net_device *netdev)
-{
-       return (netdev->features & NETIF_F_HW_CSUM) != 0;
-}
-
 static u32 atl1c_get_msglevel(struct net_device *netdev)
 {
        struct atl1c_adapter *adapter = netdev_priv(netdev);
@@ -307,9 +303,6 @@ static const struct ethtool_ops atl1c_ethtool_ops = {
        .get_link               = ethtool_op_get_link,
        .get_eeprom_len         = atl1c_get_eeprom_len,
        .get_eeprom             = atl1c_get_eeprom,
-       .get_tx_csum            = atl1c_get_tx_csum,
-       .get_sg                 = ethtool_op_get_sg,
-       .set_sg                 = ethtool_op_set_sg,
 };
 
 void atl1c_set_ethtool_ops(struct net_device *netdev)