From 902824db1f6044d0d9db9e603e71ddf4215e58d8 Mon Sep 17 00:00:00 2001 From: Josselin Bunt Date: Sat, 3 May 2025 10:36:18 +0200 Subject: [PATCH] drivers: stepper: Fix stepper callbacks when using work_q Fix issue where stepper callbacks were not being called when using work_q. This was due to the steps being counted down before the work_q was rescheduled. Signed-off-by: Josselin Bunt --- drivers/stepper/step_dir/step_dir_stepper_common.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/stepper/step_dir/step_dir_stepper_common.c b/drivers/stepper/step_dir/step_dir_stepper_common.c index bd4eac4b996..b6b7566f07f 100644 --- a/drivers/stepper/step_dir/step_dir_stepper_common.c +++ b/drivers/stepper/step_dir/step_dir_stepper_common.c @@ -145,11 +145,11 @@ static void position_mode_task(const struct device *dev) (void)step_dir_stepper_perform_step(dev); } - update_remaining_steps(dev->data); - if (config->timing_source->needs_reschedule(dev) && data->step_count != 0) { (void)config->timing_source->start(dev); } + + update_remaining_steps(dev->data); } static void velocity_mode_task(const struct device *dev)