On 6/7/2023 2:38 PM, Fotis Panagiotopoulos wrote:
This is, ultimately, the problem.  You can't wait for one tick. There is
something wrong with the delay that is asking for the single tick delay.
The watchdogs, by design, ask for a single tick delay.

Here it is:
https://github.com/apache/nuttx/blob/master/sched/wdog/wd_start.c#L406

When the wdog->lag is 0, then the delay is set to 1 tick.

Well, I agree that substituting a delay of one tick instead of using zero is not a useful solution.  Calling the expiration logic with no delay would be better.  The error handling is not good.

However, I still say that the root cause of the problem is the logic running on the LP work thread that is actually requesting a delay of zero.  That is a hard error and should never happen.

Reply via email to