Patch: enable runtime GPEs before calling _WAK method

Matthew Garrett
2005-03-27T00:34:15Z

The following patch enables runtime GPEs before calling _WAK. This
appears to be needed for resume from disk to work properly on an HP 6220
- without it, if the fan state has changed between suspend and resume,
kacpid consumes 100% of the CPU time and the fan speed remains constant.
>From playing with this, I assume that it's because the _WAK method
triggers an event that isn't handled because the GPEs haven't been
enabled.

diff -ur build-386/drivers/acpi/hardware/hwsleep.c build-686/drivers/acpi/hardware/hwsleep.c
--- build-386/drivers/acpi/hardware/hwsleep.c 2005-03-17 20:40:58.000000000 +0000
+++ build-686/drivers/acpi/hardware/hwsleep.c 2005-03-26 23:48:29.000000000 +0000
@@ -543,12 +543,6 @@
ACPI_REPORT_ERROR (("Method _BFS failed, %s\n", acpi_format_exception (status)));
}

- status = acpi_evaluate_object (NULL, METHOD_NAME__WAK, &arg_list, NULL);
- if (ACPI_FAILURE (status) && status != AE_NOT_FOUND) {
- ACPI_REPORT_ERROR (("Method _WAK failed, %s\n", acpi_format_exception (status)));
- }
- /* TBD: _WAK "sometimes" returns stuff - do we want to look at it? */
-
/*
* Restore the GPEs:
* 1) Disable/Clear all GPEs
@@ -565,6 +559,12 @@
return_ACPI_STATUS (status);
}

+ status = acpi_evaluate_object (NULL, METHOD_NAME__WAK, &arg_list, NULL);
+ if (ACPI_FAILURE (status) && status != AE_NOT_FOUND) {
+ ACPI_REPORT_ERROR (("Method _WAK failed, %s\n", acpi_format_exception (status)));
+ }
+ /* TBD: _WAK "sometimes" returns stuff - do we want to look at it? */
+
/* Enable power button */

(void) acpi_set_register(acpi_gbl_fixed_event_info[ACPI_EVENT_POWER_BUTTON].enable_register_id,

--
Matthew Garrett | mjg59-1xO5oi07KQx4cg9Nei1l7Q@public.gmane.org

-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.