From 32ca5eeedfcdec191a0fb5706307a7deea98d725 Mon Sep 17 00:00:00 2001 From: Dengdui Huang Date: Tue, 8 Apr 2025 16:30:58 +0800 Subject: [PATCH] net/hns3: fix incorrect failed rollback [ upstream commit e00902c8f2db482d744b0f62f479cfeb7d060d38 ] When the port is started, if the Tx queue fails to be started, the map interrupt should be rolled back. Fixes: fdfde7a4a0f8 ("net/hns3: fix mbuf leakage") Cc: stable@dpdk.org Signed-off-by: Dengdui Huang --- drivers/net/hns3/hns3_ethdev.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/net/hns3/hns3_ethdev.c b/drivers/net/hns3/hns3_ethdev.c index 70ba935..1baa429 100644 --- a/drivers/net/hns3/hns3_ethdev.c +++ b/drivers/net/hns3/hns3_ethdev.c @@ -5122,7 +5122,7 @@ hns3_dev_start(struct rte_eth_dev *dev) */ ret = hns3_start_all_txqs(dev); if (ret) - goto map_rx_inter_err; + goto start_all_txqs_fail; ret = hns3_start_all_rxqs(dev); if (ret) @@ -5155,6 +5155,8 @@ hns3_dev_start(struct rte_eth_dev *dev) start_all_rxqs_fail: hns3_stop_all_txqs(dev); +start_all_txqs_fail: + hns3_unmap_rx_interrupt(dev); map_rx_inter_err: (void)hns3_do_stop(hns); do_start_fail: -- 2.25.1