eventdev/timer: fix adapter stop function
Checks
Commit Message
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: stable@dpdk.org
Signed-off-by: Naga Harish K S V <s.v.naga.harish.k@intel.com>
---
lib/eventdev/rte_event_timer_adapter.c | 4 ----
1 file changed, 4 deletions(-)
@@ -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;
}