pm: Fix to prevent incorrect forever timeout

K_TICKS_FOREVER is defined as -1. Guard logic has been added for the case
when `ticks - exit_latency_ticks == -1` to prevent sys_clock_set_timeout()
from incorrectly setting a forever timeout.

Signed-off-by: Serhiy Katsyuba <serhiy.katsyuba@intel.com>
This commit is contained in:
Serhiy Katsyuba 2025-07-14 16:26:42 +02:00 committed by Anas Nashif
parent b634ede4d3
commit 98dfa0aa0b

View File

@ -199,8 +199,12 @@ bool pm_system_suspend(int32_t kernel_ticks)
/* /*
* We need to set the timer to interrupt a little bit early to * We need to set the timer to interrupt a little bit early to
* accommodate the time required by the CPU to fully wake up. * accommodate the time required by the CPU to fully wake up.
*
* Since K_TICKS_FOREVER is defined as -1, ensure that -1
* is not passed as the next timeout.
*
*/ */
sys_clock_set_timeout(ticks - exit_latency_ticks, true); sys_clock_set_timeout(MAX(0, ticks - exit_latency_ticks), true);
} }
/* /*