Commit ed29ca8b authored by Yonglong Liu's avatar Yonglong Liu Committed by David S. Miller
Browse files

net: hns: Restart autoneg need return failed when autoneg off



The hns driver of earlier devices, when autoneg off, restart autoneg
will return -EINVAL, so make the hns driver for the latest devices
do the same.

Signed-off-by: default avatarYonglong Liu <liuyonglong@huawei.com>
Signed-off-by: default avatarPeng Li <lipeng321@huawei.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 263c6d75
Loading
Loading
Loading
Loading
+9 −7
Original line number Diff line number Diff line
@@ -1157,16 +1157,18 @@ static int hns_get_regs_len(struct net_device *net_dev)
 */
static int hns_nic_nway_reset(struct net_device *netdev)
{
	int ret = 0;
	struct phy_device *phy = netdev->phydev;

	if (netif_running(netdev)) {
		/* if autoneg is disabled, don't restart auto-negotiation */
		if (phy && phy->autoneg == AUTONEG_ENABLE)
			ret = genphy_restart_aneg(phy);
	}
	if (!netif_running(netdev))
		return 0;

	return ret;
	if (!phy)
		return -EOPNOTSUPP;

	if (phy->autoneg != AUTONEG_ENABLE)
		return -EINVAL;

	return genphy_restart_aneg(phy);
}

static u32