diff options
author | Michael Chan | 2016-04-11 10:11:11 +0200 |
---|---|---|
committer | David S. Miller | 2016-04-11 20:58:44 +0200 |
commit | 03efbec03198a0f505c2a6c93268c3c5df321c90 (patch) | |
tree | 69c49ff2bce5cf155fc7e3f4c737a87fa01a3ecc /drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c | |
parent | Merge tag 'wireless-drivers-next-for-davem-2016-04-11' of git://git.kernel.or... (diff) | |
download | kernel-qcow2-linux-03efbec03198a0f505c2a6c93268c3c5df321c90.tar.gz kernel-qcow2-linux-03efbec03198a0f505c2a6c93268c3c5df321c90.tar.xz kernel-qcow2-linux-03efbec03198a0f505c2a6c93268c3c5df321c90.zip |
bnxt_en: Disallow forced speed for 10GBaseT devices.
10GBaseT devices must autonegotiate to determine master/slave clocking.
Disallow forced speed in ethtool .set_settings() for these devices.
Signed-off-by: Michael Chan <michael.chan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c')
-rw-r--r-- | drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c b/drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c index a2e93241b06b..d6e41f237f2c 100644 --- a/drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c +++ b/drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c @@ -850,7 +850,15 @@ static int bnxt_set_settings(struct net_device *dev, struct ethtool_cmd *cmd) set_pause = true; } else { u16 fw_speed; + u8 phy_type = link_info->phy_type; + if (phy_type == PORT_PHY_QCFG_RESP_PHY_TYPE_BASET || + phy_type == PORT_PHY_QCFG_RESP_PHY_TYPE_BASETE || + link_info->media_type == PORT_PHY_QCFG_RESP_MEDIA_TYPE_TP) { + netdev_err(dev, "10GBase-T devices must autoneg\n"); + rc = -EINVAL; + goto set_setting_exit; + } /* TODO: currently don't support half duplex */ if (cmd->duplex == DUPLEX_HALF) { netdev_err(dev, "HALF DUPLEX is not supported!\n"); |