diff --git a/subsys/task_wdt/task_wdt.c b/subsys/task_wdt/task_wdt.c index 7941313be97..a3a9b87d85c 100644 --- a/subsys/task_wdt/task_wdt.c +++ b/subsys/task_wdt/task_wdt.c @@ -164,7 +164,6 @@ int task_wdt_add(uint32_t reload_period, task_wdt_callback_t callback, channels[id].user_data = user_data; channels[id].timeout_abs_ticks = K_TICKS_FOREVER; channels[id].callback = callback; - task_wdt_feed(id); #ifdef CONFIG_TASK_WDT_HW_FALLBACK if (!hw_wdt_started && hw_wdt_dev) { @@ -174,6 +173,9 @@ int task_wdt_add(uint32_t reload_period, task_wdt_callback_t callback, hw_wdt_started = true; } #endif + /* must be called after hw wdt has been started */ + task_wdt_feed(id); + return id; } }