diff options
author | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2014-12-12 16:51:58 -0500 |
---|---|---|
committer | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2014-12-12 16:51:58 -0500 |
commit | 175f8e2650f7ca6b33d338be3ccc1c00e89594ea (patch) | |
tree | 7a81830a3fd4a2da4db45d2dd791493a2ac6d5de /include/acpi | |
parent | c52fa70c79acbb1d4868fee244a638d6ee6f5aab (diff) |
ACPI / PM: Do not disable wakeup GPEs that have not been enabled
In some cases acpi_device_wakeup() may be called to ensure wakeup
power to be off for a given device even though that device's wakeup
GPE has not been enabled so far. It calls acpi_disable_gpe() on a
GPE that's not enabled and this causes ACPICA to return the AE_LIMIT
status code from that call which then is reported as an error by the
ACPICA's debug facilities (if enabled). This may lead to a fair
amount of confusion, so introduce a new ACPI device wakeup flag
to store the wakeup GPE status and avoid disabling wakeup GPEs
that have not been enabled.
Reported-and-tested-by: Venkat Raghavulu <venkat.raghavulu@intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Diffstat (limited to 'include/acpi')
-rw-r--r-- | include/acpi/acpi_bus.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/include/acpi/acpi_bus.h b/include/acpi/acpi_bus.h index f34a0835aa4f..8de31d472fad 100644 --- a/include/acpi/acpi_bus.h +++ b/include/acpi/acpi_bus.h | |||
@@ -312,6 +312,7 @@ struct acpi_device_wakeup_flags { | |||
312 | u8 valid:1; /* Can successfully enable wakeup? */ | 312 | u8 valid:1; /* Can successfully enable wakeup? */ |
313 | u8 run_wake:1; /* Run-Wake GPE devices */ | 313 | u8 run_wake:1; /* Run-Wake GPE devices */ |
314 | u8 notifier_present:1; /* Wake-up notify handler has been installed */ | 314 | u8 notifier_present:1; /* Wake-up notify handler has been installed */ |
315 | u8 enabled:1; /* Enabled for wakeup */ | ||
315 | }; | 316 | }; |
316 | 317 | ||
317 | struct acpi_device_wakeup_context { | 318 | struct acpi_device_wakeup_context { |