Blob Blame History Raw
From: Peng Li <lipeng321@huawei.com>
Date: Tue, 18 Dec 2018 19:37:56 +0800
Subject: net: hns3: synchronize speed and duplex from phy when phy link up
Patch-mainline: v5.0-rc1
Git-commit: 0ad5ea5dbd6cb1e62bac547db5e61bab15af4f44
References: bsc#1104353 FATE#326415

Driver calls phy_connect_direct and registers hclge_mac_adjust_link
to synchronize mac speed and duplex from phy. It is better to
synchronize mac speed and duplex from phy when phy link up.

Signed-off-by: Peng Li <lipeng321@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Acked-by: Thomas Bogendoerfer <tbogendoerfer@suse.de>
---
 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_mdio.c |    4 ++++
 1 file changed, 4 insertions(+)

--- a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_mdio.c
+++ b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_mdio.c
@@ -181,6 +181,10 @@ static void hclge_mac_adjust_link(struct
 	int duplex, speed;
 	int ret;
 
+	/* When phy link down, do nothing */
+	if (netdev->phydev->link == 0)
+		return;
+
 	speed = netdev->phydev->speed;
 	duplex = netdev->phydev->duplex;