[stable,4.19.y] net: hns: Fix WARNING when hns modules installed

Message ID 1556239774-2127-1-git-send-email-xiaojun2@hisilicon.com
State New
Headers show
Series
  • [stable,4.19.y] net: hns: Fix WARNING when hns modules installed
Related show

Commit Message

Xiao Jun April 26, 2019, 12:49 a.m.
From: Jun Xiao <xiaojun2@hisilicon.com>


Commit dfdf26babc98 upstream

this patch need merge to 4.19.y stable kernel,without this patch the
D05/Kunpeng916 machine oopses about 50% of the time on boot.

The rest of the time the networking on the machine is totally non
functional.

the code conflict already fixed in this patch.

we have already verified this patch on kunpeng916 platform,
and it works well.

Signed-off-by: Yonglong Liu <liuyonglong@huawei.com>

Signed-off-by: Jun Xiao <xiaojun2@hisilicon.com>

---
 drivers/net/ethernet/hisilicon/hns/hns_enet.c | 15 ++++++---------
 1 file changed, 6 insertions(+), 9 deletions(-)

-- 
1.8.3.1

Patch

diff --git a/drivers/net/ethernet/hisilicon/hns/hns_enet.c b/drivers/net/ethernet/hisilicon/hns/hns_enet.c
index 6242249..283291b 100644
--- a/drivers/net/ethernet/hisilicon/hns/hns_enet.c
+++ b/drivers/net/ethernet/hisilicon/hns/hns_enet.c
@@ -1169,6 +1169,12 @@  int hns_nic_init_phy(struct net_device *ndev, struct hnae_handle *h)
 	if (!h->phy_dev)
 		return 0;
 
+	phy_dev->supported &= h->if_support;
+	phy_dev->advertising = phy_dev->supported;
+
+	if (h->phy_if == PHY_INTERFACE_MODE_XGMII)
+		phy_dev->autoneg = false;
+
 	if (h->phy_if != PHY_INTERFACE_MODE_XGMII) {
 		phy_dev->dev_flags = 0;
 
@@ -1180,15 +1186,6 @@  int hns_nic_init_phy(struct net_device *ndev, struct hnae_handle *h)
 	if (unlikely(ret))
 		return -ENODEV;
 
-	phy_dev->supported &= h->if_support;
-	phy_dev->advertising = phy_dev->supported;
-
-	if (h->phy_if == PHY_INTERFACE_MODE_XGMII)
-		phy_dev->autoneg = false;
-
-	if (h->phy_if == PHY_INTERFACE_MODE_SGMII)
-		phy_stop(phy_dev);
-
 	return 0;
 }