diff options
author | Jakub Kicinski <jakub.kicinski@netronome.com> | 2017-05-22 10:59:34 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2017-05-22 14:59:06 -0400 |
commit | 1876749da87500c7228f91398e04291389a18634 (patch) | |
tree | 93b886c2f25aa4b3e8fb6d9878bd1658ceafecf3 /drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c | |
parent | nfp: mark port state as stale if update failed (diff) | |
download | linux-dev-1876749da87500c7228f91398e04291389a18634.tar.xz linux-dev-1876749da87500c7228f91398e04291389a18634.zip |
nfp: refresh port state before reporting autonegotiation
State of autonegotiation may have changed but is not yet refreshed.
Make sure ethtool respects the NFP_PORT_CHANGED flag when looking
at autoneg.
Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com>
Reviewed-by: Simon Horman <simon.horman@netronome.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c')
-rw-r--r-- | drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c | 10 |
1 files changed, 1 insertions, 9 deletions
diff --git a/drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c b/drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c index 23f9ea0f8982..84fdbc4b835b 100644 --- a/drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c +++ b/drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c @@ -209,7 +209,7 @@ nfp_net_get_link_ksettings(struct net_device *netdev, cmd->base.duplex = DUPLEX_UNKNOWN; port = nfp_port_from_netdev(netdev); - eth_port = __nfp_port_get_eth_port(port); + eth_port = nfp_port_get_eth_port(port); if (eth_port) cmd->base.autoneg = eth_port->aneg != NFP_ANEG_DISABLED ? AUTONEG_ENABLE : AUTONEG_DISABLE; @@ -219,14 +219,6 @@ nfp_net_get_link_ksettings(struct net_device *netdev, /* Use link speed from ETH table if available, otherwise try the BAR */ if (eth_port) { - int err; - - if (test_bit(NFP_PORT_CHANGED, &port->flags)) { - err = nfp_net_refresh_eth_port(port); - if (err) - return err; - } - cmd->base.port = eth_port->port_type; cmd->base.speed = eth_port->speed; cmd->base.duplex = DUPLEX_FULL; |