From 67fe42273d3a125b9c13ba7db08f33cafacd2f62 Mon Sep 17 00:00:00 2001 From: Dengdui Huang 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 --- 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