diff options
author | Damián Viano <des@debian.org> | 2008-04-29 07:32:25 (GMT) |
---|---|---|
committer | Len Brown <len.brown@intel.com> | 2008-04-29 07:32:25 (GMT) |
commit | 51ae796f7fa1d8034252628572053f477bc29913 (patch) | |
tree | 07808a7233d5c1bab0bdf16d2762c7da1d9a372b /drivers/acpi | |
parent | 204470272c3b055b352d5f127d5d5c7dce5fa597 (diff) | |
download | linux-51ae796f7fa1d8034252628572053f477bc29913.tar.xz |
ACPICA: always disable GPE when requested
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>
Diffstat (limited to 'drivers/acpi')
-rw-r--r-- | drivers/acpi/events/evgpe.c | 4 |
1 files changed, 0 insertions, 4 deletions
diff --git a/drivers/acpi/events/evgpe.c b/drivers/acpi/events/evgpe.c index 0dadd2a..cd06170 100644 --- a/drivers/acpi/events/evgpe.c +++ b/drivers/acpi/events/evgpe.c @@ -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 = |