From fbb9f7e215c3394681ab1292f421c4e5c4880392 Mon Sep 17 00:00:00 2001 From: Naga Harish K S V Date: Mon, 25 Jul 2022 23:22:11 -0500 Subject: [PATCH] eventdev/eth_tx: fix adapter stop adapter_stop function is stopping the adapter service using rte_service_runstate_set() API and waiting until rte_service_may_be_active() API returns stopped state in an infinite loop. This results in hang issues if application calls rte_service_lcore_stop() before adapter stop. Remove the state check after setting the service state which avoids running into hang issues. This also makes Tx adapter stop inline with remaining adapters. Fixes: a3bbf2e09756 ("eventdev: add eth Tx adapter implementation") Cc: stable@dpdk.org Signed-off-by: Naga Harish K S V Acked-by: Jay Jayatheerthan --- lib/eventdev/rte_event_eth_tx_adapter.c | 4 ---- 1 file changed, 4 deletions(-) diff --git a/lib/eventdev/rte_event_eth_tx_adapter.c b/lib/eventdev/rte_event_eth_tx_adapter.c index aa7713bfa1..7e82fe030c 100644 --- a/lib/eventdev/rte_event_eth_tx_adapter.c +++ b/lib/eventdev/rte_event_eth_tx_adapter.c @@ -509,10 +509,6 @@ txa_service_ctrl(uint8_t id, int start) ret = rte_service_runstate_set(txa->service_id, start); rte_spinlock_unlock(&txa->tx_lock); - if (ret == 0 && !start) { - while (rte_service_may_be_active(txa->service_id)) - rte_pause(); - } return ret; }