diff mbox series

[net] net: hns: Fix loopback test failed at copper ports

Message ID 1559293190-24600-1-git-send-email-liuyonglong@huawei.com
State Accepted
Delegated to: David Miller
Headers show
Series [net] net: hns: Fix loopback test failed at copper ports | expand

Commit Message

Yonglong Liu May 31, 2019, 8:59 a.m. UTC
When doing a loopback test at copper ports, the serdes loopback
and the phy loopback will fail, because of the adjust link had
not finished, and phy not ready.

Adds sleep between adjust link and test process to fix it.

Signed-off-by: Yonglong Liu <liuyonglong@huawei.com>
---
 drivers/net/ethernet/hisilicon/hns/hns_ethtool.c | 4 ++++
 1 file changed, 4 insertions(+)

Comments

David Miller June 2, 2019, 8:56 p.m. UTC | #1
From: Yonglong Liu <liuyonglong@huawei.com>
Date: Fri, 31 May 2019 16:59:50 +0800

> When doing a loopback test at copper ports, the serdes loopback
> and the phy loopback will fail, because of the adjust link had
> not finished, and phy not ready.
> 
> Adds sleep between adjust link and test process to fix it.
> 
> Signed-off-by: Yonglong Liu <liuyonglong@huawei.com>

Applied.
diff mbox series

Patch

diff --git a/drivers/net/ethernet/hisilicon/hns/hns_ethtool.c b/drivers/net/ethernet/hisilicon/hns/hns_ethtool.c
index ce15d23..188c3f6 100644
--- a/drivers/net/ethernet/hisilicon/hns/hns_ethtool.c
+++ b/drivers/net/ethernet/hisilicon/hns/hns_ethtool.c
@@ -339,6 +339,7 @@  static int __lb_setup(struct net_device *ndev,
 static int __lb_up(struct net_device *ndev,
 		   enum hnae_loop loop_mode)
 {
+#define NIC_LB_TEST_WAIT_PHY_LINK_TIME 300
 	struct hns_nic_priv *priv = netdev_priv(ndev);
 	struct hnae_handle *h = priv->ae_handle;
 	int speed, duplex;
@@ -365,6 +366,9 @@  static int __lb_up(struct net_device *ndev,
 
 	h->dev->ops->adjust_link(h, speed, duplex);
 
+	/* wait adjust link done and phy ready */
+	msleep(NIC_LB_TEST_WAIT_PHY_LINK_TIME);
+
 	return 0;
 }