net/mlx4_en: Use ethtool cmd->autoneg as a hint for ethtool set settings
authorSaeed Mahameed <saeedm@mellanox.com>
Tue, 27 Jan 2015 13:58:06 +0000 (15:58 +0200)
committerDavid S. Miller <davem@davemloft.net>
Wed, 28 Jan 2015 01:12:58 +0000 (17:12 -0800)
commit5a228c03d849c86c10ee69d9951695b0649f82ce
treea035887fed6d53fd9330fb483c9ba7fd8d8c8e6d
parentef0223e693d66bc1edae342e7fe829c1092a653c
net/mlx4_en: Use ethtool cmd->autoneg as a hint for ethtool set settings

Use cmd->autoneg as a user hint to decide what to set in ethtool set settings callback.
When cmd->autoneg == AUTONEG_ENABLE set according to ethtool->advertise otherwise,
set according to ethtool->speed.

Usage:
- ethtool -s eth<x> speed 56000 autoneg off
- ethtool -s eth<x> advertise 0x800000 autoneg on

While we're here:
- Move proto_admin masking outcome check to be adjacent to the operation.
- Move en_warn("port reset..") print to "port reset" block.

Fixes: 312df74 ("net/mlx4_en: mlx4_en_set_settings() always fails when autoneg is set")
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