[PATCH v2 3/4] PM: suspend: Assign pm_suspend_target_state earlier for valid debug logs

From: Zihuan Zhang
Date: Wed Jun 18 2025 - 23:55:27 EST


pm_suspend_target_state is used in debug logs inside enter_state(), but
it is only assigned inside suspend_devices_and_enter(), which is too late.

This causes early pm_pr_dbg() output to either show incorrect state or
nothing at all, making suspend debugging harder.

Assign pm_suspend_target_state at the beginning of enter_state() to ensure
early log output is meaningful.

Signed-off-by: Zihuan Zhang <zhangzihuan@xxxxxxxxxx>
---
kernel/power/suspend.c | 3 +++
1 file changed, 3 insertions(+)

diff --git a/kernel/power/suspend.c b/kernel/power/suspend.c
index 76b141b9aac0..16172ca22f21 100644
--- a/kernel/power/suspend.c
+++ b/kernel/power/suspend.c
@@ -584,6 +584,8 @@ static int enter_state(suspend_state_t state)
if (!mutex_trylock(&system_transition_mutex))
return -EBUSY;

+ pm_suspend_target_state = state;
+
if (state == PM_SUSPEND_TO_IDLE)
s2idle_begin();

@@ -616,6 +618,7 @@ static int enter_state(suspend_state_t state)
suspend_finish();
Unlock:
filesystems_thaw();
+ pm_suspend_target_state = PM_SUSPEND_ON;
mutex_unlock(&system_transition_mutex);
return error;
}
--
2.25.1