ACPI: PM: Loop in full LPS0 mode only
authorRafael J. Wysocki <rafael.j.wysocki@intel.com>
Mon, 17 Dec 2018 11:22:43 +0000 (12:22 +0100)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Tue, 18 Dec 2018 09:51:16 +0000 (10:51 +0100)
After a previous change, all non-wakeup GPEs are disabled for
suspend-to-idle unless full Low-Power S0 (LPS0) mode is in use, so
it is not necessary to do anything in acpi_s2idle_wake() unless in
full LPS0 mode, which is only when lps0_device_handle is set.

Modify the code accordingly.

Tested-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/acpi/sleep.c

index 74c489047f57094c1fd5cee0af81fd014dcf1660..403c4ff1534982eff19a839ab5bcfc4bc7b414cc 100644 (file)
@@ -985,6 +985,8 @@ static int acpi_s2idle_prepare(void)
 
 static void acpi_s2idle_wake(void)
 {
+       if (!lps0_device_handle)
+               return;
 
        if (pm_debug_messages_on)
                lpi_check_constraints();
@@ -1003,8 +1005,7 @@ static void acpi_s2idle_wake(void)
                 * takes too much time for EC wakeup events to survive, so look
                 * for them now.
                 */
-               if (lps0_device_handle)
-                       acpi_ec_dispatch_gpe();
+               acpi_ec_dispatch_gpe();
        }
 }