Commit 8fa5d7c8 authored by Serhiy Katsyuba's avatar Serhiy Katsyuba Committed by github-actions[bot]
Browse files

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: default avatarSerhiy Katsyuba <serhiy.katsyuba@intel.com>
(cherry picked from commit 98dfa0aa)
parent 413b789d
Loading
Loading
Loading
Loading
+5 −1
Changes for subsys/pm/pm.c: 5 added lines, 1 removed line.
Original line number Diff line number Diff line
@@ -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
		 * 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);
	}

	/*