The driver doesn't support force mode for the link settings. However, if the user request it, it's just ignored and success is returned. Return ENOTSUPP instead.
Signed-off-by: Íñigo Huguet <ihug...@redhat.com> --- drivers/net/ethernet/intel/igc/igc_ethtool.c | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/drivers/net/ethernet/intel/igc/igc_ethtool.c b/drivers/net/ethernet/intel/igc/igc_ethtool.c index 93bce729be76..b7b32344d074 100644 --- a/drivers/net/ethernet/intel/igc/igc_ethtool.c +++ b/drivers/net/ethernet/intel/igc/igc_ethtool.c @@ -1832,6 +1832,12 @@ igc_ethtool_set_link_ksettings(struct net_device *netdev, } } + /* The driver does not support force mode yet */ + if (cmd->base.autoneg == AUTONEG_DISABLE) { + netdev_err(dev, "Force mode currently not supported\n"); + return -EOPNOTSUPP; + } + while (test_and_set_bit(__IGC_RESETTING, &adapter->state)) usleep_range(1000, 2000); @@ -1844,14 +1850,10 @@ igc_ethtool_set_link_ksettings(struct net_device *netdev, if (ethtool_link_ksettings_test_link_mode(cmd, advertising, 2500baseT_Full)) advertising |= ADVERTISE_2500_FULL; - if (cmd->base.autoneg == AUTONEG_ENABLE) { - hw->mac.autoneg = 1; - hw->phy.autoneg_advertised = advertising; - if (adapter->fc_autoneg) - hw->fc.requested_mode = igc_fc_default; - } else { - netdev_info(dev, "Force mode currently not supported\n"); - } + hw->mac.autoneg = 1; + hw->phy.autoneg_advertised = advertising; + if (adapter->fc_autoneg) + hw->fc.requested_mode = igc_fc_default; /* MDI-X => 2; MDI => 1; Auto => 3 */ if (cmd->base.eth_tp_mdix_ctrl) { -- 2.44.0