Wentao Liang
e7fe27d6a2
PM: hibernate: Add error handling for syscore_suspend()
...
[ Upstream commit e20a70c572539a486dbd91b225fa6a194a5e2122 ]
In hibernation_platform_enter(), the code did not check the
return value of syscore_suspend(), potentially leading to a
situation where syscore_resume() would be called even if
syscore_suspend() failed. This could cause unpredictable
behavior or system instability.
Modify the code sequence in question to properly handle errors returned
by syscore_suspend(). If an error occurs in the suspend path, the code
now jumps to label 'Enable_irqs' skipping the syscore_resume() call and
only enabling interrupts after setting the system state to SYSTEM_RUNNING.
Fixes: 40dc166cb5 ("PM / Core: Introduce struct syscore_ops for core subsystems PM")
Signed-off-by: Wentao Liang <vulab@iscas.ac.cn >
Link: https://patch.msgid.link/20250119143205.2103-1-vulab@iscas.ac.cn
[ rjw: Changelog edits ]
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com >
Signed-off-by: Sasha Levin <sashal@kernel.org >
2025-02-21 13:49:22 +01:00
..
2025-01-17 13:34:43 +01:00
2024-12-14 19:53:21 +01:00
2022-09-28 09:02:20 +02:00
2024-08-03 08:49:47 +02:00
2024-12-14 19:54:43 +01:00
2024-04-03 15:19:44 +02:00
2024-10-17 15:22:05 +02:00
2023-11-20 11:51:50 +01:00
2024-06-27 13:46:22 +02:00
2025-02-21 13:48:57 +01:00
2024-12-14 19:54:38 +01:00
2023-11-20 11:52:10 +01:00
2024-10-17 15:21:27 +02:00
2024-10-17 15:21:27 +02:00
2025-02-21 13:49:22 +01:00
2024-12-14 19:53:19 +01:00
2025-01-02 10:30:55 +01:00
2025-02-21 13:49:01 +01:00
2025-01-23 17:17:15 +01:00
2025-02-21 13:49:08 +01:00
2022-12-31 13:32:58 +01:00
2024-01-31 16:17:00 -08:00
2022-08-22 18:50:06 -04:00
2022-04-25 14:37:28 +02:00
2023-11-28 17:07:08 +00:00
2024-02-05 20:12:47 +00:00
2022-09-07 11:30:15 -04:00
2024-07-11 12:47:16 +02:00
2023-10-25 12:03:04 +02:00
2024-05-02 16:29:32 +02:00
2022-09-26 10:13:13 -07:00
2023-04-06 12:10:40 +02:00
2023-03-10 09:33:45 +01:00
2022-07-05 13:32:59 -07:00
2025-01-23 17:17:15 +01:00
2022-08-28 14:02:44 -07:00
2023-12-20 17:00:20 +01:00
2022-09-26 19:46:07 -07:00
2024-07-11 12:47:13 +02:00
2022-07-05 13:32:59 -07:00
2023-03-11 13:55:39 +01:00
2024-11-14 13:15:16 +01:00
2022-09-07 21:53:50 +02:00
2025-01-23 17:17:11 +01:00
2022-07-15 18:21:49 +00:00
2022-09-30 16:50:39 +02:00
2022-04-15 14:49:55 -07:00
2024-10-17 15:21:29 +02:00
2023-10-25 12:03:16 +02:00
2023-10-25 12:03:16 +02:00
2022-03-31 10:36:55 +02:00
2025-01-09 13:30:05 +01:00
2023-07-19 16:21:08 +02:00
2023-06-21 16:00:55 +02:00
2022-09-11 21:55:06 -07:00
2023-11-28 17:06:57 +00:00
2023-05-11 23:03:02 +09:00
2024-08-14 13:52:54 +02:00
2022-09-11 21:55:06 -07:00
2024-10-17 15:22:28 +02:00
2022-09-11 21:55:12 -07:00
2024-06-12 11:03:16 +02:00
2022-05-19 19:30:30 +02:00
2022-09-13 10:38:43 -07:00
2024-06-12 11:03:16 +02:00
2025-02-21 13:49:09 +01:00
2024-04-13 13:04:54 +02:00
2024-08-29 17:30:18 +02:00
2024-08-29 17:30:18 +02:00
2024-08-14 13:52:50 +02:00
2022-09-07 21:53:50 +02:00
2023-11-28 17:07:13 +00:00
2023-05-11 23:03:03 +09:00
2024-10-17 15:21:55 +02:00
2022-11-14 09:58:32 +01:00
2023-09-23 11:11:00 +02:00
2022-03-24 19:06:48 -07:00
2022-05-03 14:11:58 -07:00
2024-11-14 13:15:18 +01:00
2024-09-12 11:10:24 +02:00
2022-09-11 21:55:10 -07:00
2025-02-01 18:30:06 +01:00
2022-05-08 01:33:09 -07:00
2024-12-19 18:08:58 +01:00
2022-04-05 09:59:38 +02:00
2022-05-24 11:11:13 -07:00
2024-07-05 09:31:59 +02:00
2024-03-15 10:48:22 -04:00
2022-09-08 16:56:45 -07:00
2022-12-05 12:09:06 -08:00
2024-08-03 08:49:34 +02:00
2022-08-29 12:47:15 +01:00
2023-03-10 09:34:07 +01:00
2022-09-26 13:01:18 -04:00
2022-04-29 14:38:03 -07:00
2024-11-14 13:15:19 +01:00
2023-02-22 12:59:50 +01:00
2022-10-09 16:24:05 -07:00
2022-05-19 23:25:47 -04:00
2022-10-23 12:01:01 -07:00
2023-11-28 17:06:57 +00:00
2024-08-03 08:49:42 +02:00
2023-11-28 17:07:09 +00:00
2024-09-12 11:10:27 +02:00