net/mlx4_en: mlx4_en_set_settings() always fails when autoneg is set
authorSaeed Mahameed <saeedm@mellanox.com>
Thu, 20 Nov 2014 12:19:44 +0000 (14:19 +0200)
committerDavid S. Miller <davem@davemloft.net>
Fri, 21 Nov 2014 20:06:30 +0000 (15:06 -0500)
Fix ethtool set settings to not check AUTONEG_ENABLE

mlx4_en_set_settings should not check if cmd->autoneg == AUTONEG_ENABLE,
cmd->autoneg can be enabled by default and this check will fail other settings requests.
mlx4_en driver doesn't support changing autoneg value, but shouldn't fail the request
in case cmd->autoneg was set.

Fixes: d48b3ab ("net/mlx4_en: Use PTYS register to set ethtool settings (Speed)")
Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
Signed-off-by: Amir Vadai <amirv@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/mellanox/mlx4/en_ethtool.c

index 710cf309962a05fdffd1b6f5f8c91cdbd8ed63ed..bdff834a2a7e48a7b57193974942d3eeb148dc37 100644 (file)
@@ -756,7 +756,7 @@ static int mlx4_en_set_settings(struct net_device *dev, struct ethtool_cmd *cmd)
               speed, cmd->advertising, cmd->autoneg, cmd->duplex);
 
        if (!(priv->mdev->dev->caps.flags2 & MLX4_DEV_CAP_FLAG2_ETH_PROT_CTRL) ||
-           (cmd->autoneg == AUTONEG_ENABLE) || (cmd->duplex == DUPLEX_HALF))
+           (cmd->duplex == DUPLEX_HALF))
                return -EINVAL;
 
        memset(&ptys_reg, 0, sizeof(ptys_reg));