When GPE dispatch fails due to missing handler, kernel issues ACPI Error: No handler for Region ACPI Error: Region EmbeddedControl ACPI Error: Method parse/execution failed ACPI Exception: AE_NOT_EXIST, while evaluating GPE method
and goes ahead enable GPE anyway. After that, kernel goes into an infinite loop: ACPI Error: No handler for Region ACPI Error: Region EmbeddedControl ACPI Error: Method parse/execution failed ACPI Exception: AE_NOT_EXIST, while evaluating GPE method and repeat. This patch avoids the infinite loop by not enabling GPE if GPE dispatch fails. -- H.J.
From e892b19f5100427b8c89a74186b90675141ceaab Mon Sep 17 00:00:00 2001 From: "H.J. Lu" <hjl.to...@gmail.com> Date: Sat, 12 Nov 2011 11:03:38 -0800 Subject: [PATCH] Gracely handle GPE dispatch failure When GPE dispatch fails due to missing handler, kernel issues ACPI Error: No handler for Region ACPI Error: Region EmbeddedControl ACPI Error: Method parse/execution failed ACPI Exception: AE_NOT_EXIST, while evaluating GPE method and goes ahead enable GPE anyway. After that, kernel goes into an infinite loop: ACPI Error: No handler for Region ACPI Error: Region EmbeddedControl ACPI Error: Method parse/execution failed ACPI Exception: AE_NOT_EXIST, while evaluating GPE method and repeat. This patch avoids the infinite loop by not enabling GPE if GPE dispatch fails. Signed-off-by: H.J. Lu <hjl.to...@gmail.com> --- drivers/acpi/acpica/evgpe.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/acpi/acpica/evgpe.c b/drivers/acpi/acpica/evgpe.c index 5ed064e..ca1ec02 100644 --- a/drivers/acpi/acpica/evgpe.c +++ b/drivers/acpi/acpica/evgpe.c @@ -589,6 +589,7 @@ static void ACPI_SYSTEM_XFACE acpi_ev_asynch_execute_gpe_method(void *context) acpi_ut_get_node_name(gpe_event_info-> dispatch. method_node))); + return_VOID; } break; -- 1.9.3