Merge tag 'sched-core-2022-10-07' of git://git.kernel.org/pub/scm/linux/kernel/git...
[sfrench/cifs-2.6.git] / drivers / acpi / x86 / s2idle.c
index 42f249070c09c3b0fc4b72ff63c0bc5dc672fb46..5350c73564b601fffa1f31ee566ae67a50d74de0 100644 (file)
@@ -654,12 +654,14 @@ void __init acpi_s2idle_setup(void)
 
 int acpi_register_lps0_dev(struct acpi_s2idle_dev_ops *arg)
 {
+       unsigned int sleep_flags;
+
        if (!lps0_device_handle || sleep_no_lps0)
                return -ENODEV;
 
-       lock_system_sleep();
+       sleep_flags = lock_system_sleep();
        list_add(&arg->list_node, &lps0_s2idle_devops_head);
-       unlock_system_sleep();
+       unlock_system_sleep(sleep_flags);
 
        return 0;
 }
@@ -667,12 +669,14 @@ EXPORT_SYMBOL_GPL(acpi_register_lps0_dev);
 
 void acpi_unregister_lps0_dev(struct acpi_s2idle_dev_ops *arg)
 {
+       unsigned int sleep_flags;
+
        if (!lps0_device_handle || sleep_no_lps0)
                return;
 
-       lock_system_sleep();
+       sleep_flags = lock_system_sleep();
        list_del(&arg->list_node);
-       unlock_system_sleep();
+       unlock_system_sleep(sleep_flags);
 }
 EXPORT_SYMBOL_GPL(acpi_unregister_lps0_dev);