[PATCH 0/2] PM: hibernate: add helper to detect image-write phase
From: Haowen Tu
Date: Tue Apr 28 2026 - 04:16:40 EST
During S4 hibernation, after create_image() saves the memory snapshot,
the kernel resumes devices with PMSG_THAW solely to write the hibernation
image to storage before final powerdown. Drivers unrelated to storage I/O
have no reason to reinitialize during this transient phase.
Drivers using dev_pm_ops already have separate .thaw and .restore
callbacks and can handle this natively. However, usb_driver.resume
takes no pm_message_t argument, so a USB driver cannot distinguish
PMSG_THAW from PMSG_RESTORE without an out-of-band query.
This series adds pm_hibernation_storing_image(), a small helper that
returns true during the image-write window. As a first user, the UVC
driver uses it to skip resume in uvc_video_resume() until the real
PMSG_RESTORE wake-up.
Tested with hibernation image written to local storage and resumed from
disk on a system with a USB UVC camera attached.
Haowen Tu (2):
pm/hibernate: add pm_hibernation_storing_image() helper
media: uvcvideo: skip resume when writing hibernation image
drivers/media/usb/uvc/uvc_video.c | 10 ++++++++++
include/linux/suspend.h | 2 ++
kernel/power/hibernate.c | 19 +++++++++++++++++++
3 files changed, 31 insertions(+)
--
2.20.1