dpdk/0089-net-hns3-fix-extra-waiting-for-link-up.patch
Dengdui Huang ca6918627c sync some bugfixes from upstreaming
- 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)
2025-04-28 15:33:18 +08:00

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