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 timer adapter
stop inline with remaining adapters.
Fixes: 47d05b292820 ("eventdev: add timer adapter common code")
Cc: [email protected]
Signed-off-by: Naga Harish K S V <[email protected]>
---
lib/eventdev/rte_event_timer_adapter.c | 4 ----
1 file changed, 4 deletions(-)
diff --git a/lib/eventdev/rte_event_timer_adapter.c
b/lib/eventdev/rte_event_timer_adapter.c
index d2480060c5..8266003ab1 100644
--- a/lib/eventdev/rte_event_timer_adapter.c
+++ b/lib/eventdev/rte_event_timer_adapter.c
@@ -1036,10 +1036,6 @@ swtim_stop(const struct rte_event_timer_adapter *adapter)
if (ret < 0)
return ret;
- /* Wait for the service to complete its final iteration */
- while (rte_service_may_be_active(sw->service_id))
- rte_pause();
-
return 0;
}
--
2.25.1