Commit abcc80d2 authored by Emil Tantilov's avatar Emil Tantilov Committed by Jeff Kirsher

ixgbe: add check for supported modes

When setting advertised speed/duplex with ethtool.

Also cleaned up the comment since we also support 100/F.
Signed-off-by: default avatarEmil Tantilov <emil.s.tantilov@intel.com>
Tested-by: default avatarPhil Schmitt <phillip.j.schmitt@intel.com>
Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
parent 53f096de
...@@ -324,12 +324,16 @@ static int ixgbe_set_settings(struct net_device *netdev, ...@@ -324,12 +324,16 @@ static int ixgbe_set_settings(struct net_device *netdev,
if ((hw->phy.media_type == ixgbe_media_type_copper) || if ((hw->phy.media_type == ixgbe_media_type_copper) ||
(hw->phy.multispeed_fiber)) { (hw->phy.multispeed_fiber)) {
/* 10000/copper and 1000/copper must autoneg /*
* this function does not support any duplex forcing, but can * this function does not support duplex forcing, but can
* limit the advertising of the adapter to only 10000 or 1000 */ * limit the advertising of the adapter to the specified speed
*/
if (ecmd->autoneg == AUTONEG_DISABLE) if (ecmd->autoneg == AUTONEG_DISABLE)
return -EINVAL; return -EINVAL;
if (ecmd->advertising & ~ecmd->supported)
return -EINVAL;
old = hw->phy.autoneg_advertised; old = hw->phy.autoneg_advertised;
advertised = 0; advertised = 0;
if (ecmd->advertising & ADVERTISED_10000baseT_Full) if (ecmd->advertising & ADVERTISED_10000baseT_Full)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment