- net/hns3: fix unrelease some resources on reset case - net/hns3: fix divide by zero - net/hns3: fix incorrect failed rollback - net/hns3: fix memory leakage for indirect action - net/hns3: fix extra waiting for link up - net/hns3: fix variable overflow - net/hns3: fix memory leakage in failure path - devtools: fix symbol listing - net/hns3: remove weak symbols - net/hns3: fix reset timeout - net/hns3: fix copper port inialization - net/hns3: rename RAS module - net/hns3: remove PVID info dump for VF - net/hns3: fix mbuf freeing in simple Tx path Signed-off-by: Dengdui Huang <huangdengdui@huawei.com> (cherry picked from commit 4f2a5e819346fb5bf12b9de68352782319e4a2a6)
53 lines
1.8 KiB
Diff
53 lines
1.8 KiB
Diff
From 67fe42273d3a125b9c13ba7db08f33cafacd2f62 Mon Sep 17 00:00:00 2001
|
|
From: Dengdui Huang <huangdengdui@huawei.com>
|
|
Date: Tue, 8 Apr 2025 16:30:56 +0800
|
|
Subject: [PATCH] net/hns3: fix extra waiting for link up
|
|
|
|
[ upstream commit 8dddddeaf26568801f467e73d39094c97860b73f ]
|
|
|
|
If the link auto-negotiation of the NIC is disabled,
|
|
or the flow control auto-negotiation is not supported,
|
|
it's unnecessary to wait for link establishment.
|
|
|
|
Fixes: 1f411e31a826 ("net/hns3: support flow control autoneg for copper port")
|
|
Cc: stable@dpdk.org
|
|
|
|
Signed-off-by: Dengdui Huang <huangdengdui@huawei.com>
|
|
---
|
|
drivers/net/hns3/hns3_ethdev.c | 12 ++++++------
|
|
1 file changed, 6 insertions(+), 6 deletions(-)
|
|
|
|
diff --git a/drivers/net/hns3/hns3_ethdev.c b/drivers/net/hns3/hns3_ethdev.c
|
|
index df9ca25..70ba935 100644
|
|
--- a/drivers/net/hns3/hns3_ethdev.c
|
|
+++ b/drivers/net/hns3/hns3_ethdev.c
|
|
@@ -5308,12 +5308,6 @@ hns3_get_current_fc_mode(struct rte_eth_dev *dev)
|
|
struct hns3_pf *pf = HNS3_DEV_PRIVATE_TO_PF(dev->data->dev_private);
|
|
struct hns3_mac *mac = &hw->mac;
|
|
|
|
- /*
|
|
- * When the flow control mode is obtained, the device may not complete
|
|
- * auto-negotiation. It is necessary to wait for link establishment.
|
|
- */
|
|
- (void)hns3_dev_link_update(dev, 1);
|
|
-
|
|
/*
|
|
* If the link auto-negotiation of the nic is disabled, or the flow
|
|
* control auto-negotiation is not supported, the forced flow control
|
|
@@ -5322,6 +5316,12 @@ hns3_get_current_fc_mode(struct rte_eth_dev *dev)
|
|
if (mac->link_autoneg == 0 || !pf->support_fc_autoneg)
|
|
return hw->requested_fc_mode;
|
|
|
|
+ /*
|
|
+ * When the flow control mode is obtained, the device may not complete
|
|
+ * auto-negotiation. It is necessary to wait for link establishment.
|
|
+ */
|
|
+ (void)hns3_dev_link_update(dev, 1);
|
|
+
|
|
return hns3_get_autoneg_fc_mode(hw);
|
|
}
|
|
|
|
--
|
|
2.25.1
|
|
|