ACPICA: always disable GPE when requested
authorDamián Viano <des@debian.org>
Tue, 29 Apr 2008 07:32:25 +0000 (03:32 -0400)
committerLen Brown <len.brown@intel.com>
Tue, 29 Apr 2008 07:32:25 +0000 (03:32 -0400)
acpi_ev_disable_gpe() has an optimization where it doesn't disable
a GPE that it "doesn't have to".  Unfortunately, it can get tricked
by AML that scribbles on register state behind its back.  So when asked
to disable a GPE, simply do it -- a redundant register write
in the common case is a fair price to pay to be bomb-proof
for the rare cases.

http://bugzilla.kernel.org/show_bug.cgi?id=6217

Signed-off-by: Damián Viano <des@debian.org>
Acked-by: Zhang Rui <rui.zhang@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
drivers/acpi/events/evgpe.c

index 0dadd2adc8001a109669b4ae62c673da60f4747b..cd06170e7871a3eecfa08c018f5f2ff51cedfe81 100644 (file)
@@ -248,10 +248,6 @@ acpi_status acpi_ev_disable_gpe(struct acpi_gpe_event_info *gpe_event_info)
 
        ACPI_FUNCTION_TRACE(ev_disable_gpe);
 
-       if (!(gpe_event_info->flags & ACPI_GPE_ENABLE_MASK)) {
-               return_ACPI_STATUS(AE_OK);
-       }
-
        /* Make sure HW enable masks are updated */
 
        status =