ixgbe: Fix ethtool output with advertised mode.
Ethtool tries to get advertised speed from phy.autoneg_advertised. However for copper media this wasn't happening until later do to an other fix which moved mac.ops.setup_link_speed placement in ixgbe_link_config(). This patch will display the default advertised speeds if it can't yet get this information from phy.autoneg_advertised. Signed-off-by: Don Skidmore <donald.c.skidmore@intel.com> Acked-by: Mallikarjuna R Chilakala <mallikarjuna.chilakala@intel.com> Acked-by: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
b453368dfd
commit
7c5b83230a
|
@ -129,6 +129,15 @@ static int ixgbe_get_settings(struct net_device *netdev,
|
|||
ecmd->advertising |= ADVERTISED_10000baseT_Full;
|
||||
if (hw->phy.autoneg_advertised & IXGBE_LINK_SPEED_1GB_FULL)
|
||||
ecmd->advertising |= ADVERTISED_1000baseT_Full;
|
||||
/*
|
||||
* It's possible that phy.autoneg_advertised may not be
|
||||
* set yet. If so display what the default would be -
|
||||
* both 1G and 10G supported.
|
||||
*/
|
||||
if (!(ecmd->advertising & (ADVERTISED_1000baseT_Full |
|
||||
ADVERTISED_10000baseT_Full)))
|
||||
ecmd->advertising |= (ADVERTISED_10000baseT_Full |
|
||||
ADVERTISED_1000baseT_Full);
|
||||
|
||||
ecmd->port = PORT_TP;
|
||||
} else if (hw->phy.media_type == ixgbe_media_type_backplane) {
|
||||
|
|
Loading…
Reference in New Issue