On Fri, May 30, 2025 at 12:00 PM Zihuan Zhang <zhangzihuan@xxxxxxxxxx> wrote:Thank you for the feedback.
In resume_store(), if the device number written to /sys/power/resumeThe main purpose of this function is to run software_resume(), not to
is the same as the current swsusp_resume_device, we can skip reassignment.
This avoids unnecessary locking and improves efficiency slightly.
Signed-off-by: Zihuan Zhang <zhangzihuan@xxxxxxxxxx>
---
kernel/power/hibernate.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/kernel/power/hibernate.c b/kernel/power/hibernate.c
index 519fb09de5e0..504a1c2465ce 100644
--- a/kernel/power/hibernate.c
+++ b/kernel/power/hibernate.c
@@ -1291,6 +1291,9 @@ static ssize_t resume_store(struct kobject *kobj, struct kobj_attribute *attr,
if (error)
return error;
+ if (dev == swsusp_resume_device)
+ return n;
+
set swsusp_resume_device. You're breaking it with this change.
Best regards,sleep_flags = lock_system_sleep();
swsusp_resume_device = dev;
unlock_system_sleep(sleep_flags);
--
2.25.1