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

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

Commit Message

xiaojun2@hisilicon.com April 26, 2019, 12:49 a.m. UTC
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(-)

Patch
diff mbox series

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;
 }