ethtool: Use full 32 bit speed range in ethtool's set_settings
[cascardo/linux.git] / drivers / net / atl1c / atl1c_ethtool.c
index 3af5a33..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