[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