diff --git a/sched/wdog/wd_start.c b/sched/wdog/wd_start.c index 1e0a1141d9d..d7a3af9bc7a 100644 --- a/sched/wdog/wd_start.c +++ b/sched/wdog/wd_start.c @@ -178,8 +178,6 @@ void wd_insert(FAR struct wdog_s *wdog, clock_t expired, { FAR struct wdog_s *curr; - DEBUGASSERT(wdog && wdentry); - /* Traverse the watchdog list */ list_for_every_entry(&g_wdactivelist, curr, struct wdog_s, node) @@ -295,8 +293,8 @@ int wd_start_absolute(FAR struct wdog_s *wdog, clock_t ticks, wd_insert(wdog, ticks, wdentry, arg); - reassess |= list_is_head(&g_wdactivelist, &wdog->node); - if (!g_wdtimernested && reassess) + if (!g_wdtimernested && + (reassess || list_is_head(&g_wdactivelist, &wdog->node))) { /* Resume the interval timer that will generate the next * interval event. If the timer at the head of the list changed,