ACPI: suppress power button event on S3 resume
authorArnaud Patard <apatard@mandriva.com>
Thu, 27 Apr 2006 09:25:00 +0000 (05:25 -0400)
committerLen Brown <len.brown@intel.com>
Fri, 16 Jun 2006 03:16:05 +0000 (23:16 -0400)
http://bugzilla.kernel.org/show_bug.cgi?id=6612

Note that this fix depends on a fix in ACPICA 20060608
to replace a semaphore with a spin-lock.

Signed-off-by: Arnaud Patard <apatard@mandriva.com>
Acked-by: "Yu, Luming" <luming.yu@intel.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Len Brown <len.brown@intel.com>
drivers/acpi/sleep/main.c

index 930427fc0c4b33ff923a5623038adcdf7073ea1c..62ce87d7165101078aa829b73294dd6922e1519a 100644 (file)
@@ -105,6 +105,14 @@ static int acpi_pm_enter(suspend_state_t pm_state)
        default:
                return -EINVAL;
        }
+
+       /* ACPI 3.0 specs (P62) says that it's the responsabilty
+        * of the OSPM to clear the status bit [ implying that the
+        * POWER_BUTTON event should not reach userspace ]
+        */
+       if (ACPI_SUCCESS(status) && (acpi_state == ACPI_STATE_S3))
+               acpi_clear_event(ACPI_EVENT_POWER_BUTTON);
+
        local_irq_restore(flags);
        printk(KERN_DEBUG "Back to C!\n");