ethtool_cmd_speed_set(cmd, priv->xstats.pcs_speed);
 
                /* Get and convert ADV/LP_ADV from the HW AN registers */
-               if (priv->hw->mac->get_adv)
-                       priv->hw->mac->get_adv(priv->hw, &adv);
-               else
+               if (!priv->hw->mac->get_adv)
                        return -EOPNOTSUPP;     /* should never happen indeed */
 
+               priv->hw->mac->get_adv(priv->hw, &adv);
+
                /* Encoding of PSE bits is defined in 802.3z, 37.2.1.4 */
 
                if (adv.pause & STMMAC_PCS_PAUSE)
                if (cmd->autoneg != AUTONEG_ENABLE)
                        return -EINVAL;
 
-               if (cmd->autoneg == AUTONEG_ENABLE) {
-                       mask &= (ADVERTISED_1000baseT_Half |
+               mask &= (ADVERTISED_1000baseT_Half |
                        ADVERTISED_1000baseT_Full |
                        ADVERTISED_100baseT_Half |
                        ADVERTISED_100baseT_Full |
                        ADVERTISED_10baseT_Half |
                        ADVERTISED_10baseT_Full);
 
-                       spin_lock(&priv->lock);
-                       if (priv->hw->mac->ctrl_ane)
-                               priv->hw->mac->ctrl_ane(priv->hw, 1);
-                       spin_unlock(&priv->lock);
-               }
+               spin_lock(&priv->lock);
+               if (priv->hw->mac->ctrl_ane)
+                       priv->hw->mac->ctrl_ane(priv->hw, 1);
+               spin_unlock(&priv->lock);
 
                return 0;
        }
 
        /* Stop Advertising 1000BASE Capability if interface is not GMII */
        if ((interface == PHY_INTERFACE_MODE_MII) ||
            (interface == PHY_INTERFACE_MODE_RMII) ||
-               (max_speed < 1000 &&  max_speed > 0))
+               (max_speed < 1000 && max_speed > 0))
                phydev->advertising &= ~(SUPPORTED_1000baseT_Half |
                                         SUPPORTED_1000baseT_Full);