]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/blobdiff - kernel/power/user.c
[PATCH] Disable CPU hotplug during suspend
[mirror_ubuntu-jammy-kernel.git] / kernel / power / user.c
index 3f1539fbe48a8be9c9f5ecf86f13042b3fed523d..0ef5e4ba39e514ea32c853a2141acdd85a8b2856 100644 (file)
@@ -19,6 +19,7 @@
 #include <linux/swapops.h>
 #include <linux/pm.h>
 #include <linux/fs.h>
+#include <linux/cpu.h>
 
 #include <asm/uaccess.h>
 
@@ -139,12 +140,15 @@ static int snapshot_ioctl(struct inode *inode, struct file *filp,
                if (data->frozen)
                        break;
                down(&pm_sem);
-               disable_nonboot_cpus();
-               if (freeze_processes()) {
-                       thaw_processes();
-                       enable_nonboot_cpus();
-                       error = -EBUSY;
+               error = disable_nonboot_cpus();
+               if (!error) {
+                       error = freeze_processes();
+                       if (error) {
+                               thaw_processes();
+                               error = -EBUSY;
+                       }
                }
+               enable_nonboot_cpus();
                up(&pm_sem);
                if (!error)
                        data->frozen = 1;