ACPI / sleep: Drain outstanding events after disabling multiple GPEs
[linux-drm-fsl-dcu.git] / drivers / acpi / sleep.c
index 05a31b573fc327b2a843c314294eff18d6b288ba..8aa9254a387fb1c70e90857f70412aa44bceaa6b 100644 (file)
@@ -630,6 +630,7 @@ static int acpi_freeze_begin(void)
 static int acpi_freeze_prepare(void)
 {
        acpi_enable_all_wakeup_gpes();
+       acpi_os_wait_events_complete();
        enable_irq_wake(acpi_gbl_FADT.sci_interrupt);
        return 0;
 }
@@ -825,6 +826,7 @@ static void acpi_power_off_prepare(void)
        /* Prepare to power off the system */
        acpi_sleep_prepare(ACPI_STATE_S5);
        acpi_disable_all_gpes();
+       acpi_os_wait_events_complete();
 }
 
 static void acpi_power_off(void)