diff options
author | Damián Viano <des@debian.org> | 2008-04-29 03:32:25 -0400 |
---|---|---|
committer | Len Brown <len.brown@intel.com> | 2008-04-29 03:32:25 -0400 |
commit | 51ae796f7fa1d8034252628572053f477bc29913 (patch) | |
tree | 07808a7233d5c1bab0bdf16d2762c7da1d9a372b /drivers | |
parent | 204470272c3b055b352d5f127d5d5c7dce5fa597 (diff) |
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')
-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 0dadd2adc800..cd06170e7871 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) | |||
248 | 248 | ||
249 | ACPI_FUNCTION_TRACE(ev_disable_gpe); | 249 | ACPI_FUNCTION_TRACE(ev_disable_gpe); |
250 | 250 | ||
251 | if (!(gpe_event_info->flags & ACPI_GPE_ENABLE_MASK)) { | ||
252 | return_ACPI_STATUS(AE_OK); | ||
253 | } | ||
254 | |||
255 | /* Make sure HW enable masks are updated */ | 251 | /* Make sure HW enable masks are updated */ |
256 | 252 | ||
257 | status = | 253 | status = |