Skip to contentSkip to conversation

PATCH: Don't enable GPE if GPE dispatch failed

DISCUSSION Zhang Rui 1 participant 2 messages Jun 29, 2011 3 messages not in the archive ACPI

lore
Share & tools
lore

A message that is not in the archive (sent off-list or not yet received): [email protected]

A message that is not in the archive (sent off-list or not yet received): 1309311174.5389.0.camel@rui

Zhang Rui

author
#2 lore raw

CC linux-acpi mail list.

Quoted 63 lines · Rui

Hi,

can you send me the acpidump output of this machine please?

thanks,
rui

Quoted 45 lines · Hongjiu

Hi,

I have a broken BIOS, which generates thousands of kernel messages:

Jun 28 14:13:26 gnu-18 kernel: [  628.704003] ACPI Exception: AE_NOT_EXIST, while evaluating GPE method [_L01] (20110112/evgpe-551)
Jun 28 14:13:26 gnu-18 kernel: [  628.826752] ACPI Error: No handler for Region [ECF2] (ffff88013763b6c0) [EmbeddedControl] (20110112/evregion-369)
Jun 28 14:13:26 gnu-18 kernel: [  628.826761] ACPI Error: Region EmbeddedControl(0x3) has no handler (20110112/exfldio-292)
Jun 28 14:13:26 gnu-18 kernel: [  628.826768] ACPI Error: Method parse/execution failed [\_GPE._L01] (Node ffff88013765a488), AE_NOT_EXIST (20110112/psparse-536)

This patch avoids enabling GPE if GPE dispatch failed. Now I got only one kernel message:

Jun 28 14:38:51 gnu-18 kernel: [    0.937479] ACPI Error: No handler for Region [ECF2] (ffff88013763b6c0) [EmbeddedControl] (20110112/evregion-369)
Jun 28 14:38:51 gnu-18 kernel: [    0.937485] ACPI Error: Region EmbeddedControl(0x3) has no handler (20110112/exfldio-292)
Jun 28 14:38:51 gnu-18 kernel: [    0.937490] ACPI Error: Method parse/execution failed [\_GPE._L01] (Node ffff88013765a488), AE_NOT_EXIST (20110112/psparse-536)
Jun 28 14:38:51 gnu-18 kernel: [    0.937502] ACPI Exception: AE_NOT_EXIST, while evaluating GPE method [_L01] (20110112/evgpe-551)

H.J.
---

drivers/acpi/acpica/evgpe.c +7 -5
index f472521..5b1f4b2 100644
@@ -559,11 +559,13 @@ static void ACPI_SYSTEM_XFACE acpi_ev_asynch_execute_gpe_method(void *context)
 
 	/* Defer enabling of GPE until all notify handlers are done */
 
-	status = acpi_os_execute(OSL_NOTIFY_HANDLER,
-				 acpi_ev_asynch_enable_gpe,
-				 local_gpe_event_info);
-	if (ACPI_FAILURE(status)) {
-		ACPI_FREE(local_gpe_event_info);
+	if (!ACPI_FAILURE(status)) {
+		status = acpi_os_execute(OSL_NOTIFY_HANDLER,
+					 acpi_ev_asynch_enable_gpe,
+					 local_gpe_event_info);
+		if (ACPI_FAILURE(status)) {
+			ACPI_FREE(local_gpe_event_info);
+		}
 	}
 	return_VOID;
 }
Quoted 4 lines

_______________________________________________
acpi mailing list
[email protected]
http://linux.intel.com/mailman/listinfo/acpi

_______________________________________________
acpi mailing list
[email protected]
http://linux.intel.com/mailman/listinfo/acpi

A message that is not in the archive (sent off-list or not yet received): [email protected]

author
#4 lore raw

Hi, H.J.

IMO, the real problem is that EC address space handler is not installed. please attach the full dmesg output of your patched kernel after boot.

thanks,
rui

Quoted 61 lines · H.J. Lu
Quoted 40 lines · Zhang Rui

CC linux-acpi mail list.

Quoted 37 lines · Rui

Hi,

can you send me the acpidump output of this machine please?

thanks,
rui

Quoted 29 lines · Hongjiu

Hi,

I have a broken BIOS, which generates thousands of kernel messages:

Jun 28 14:13:26 gnu-18 kernel: [  628.704003] ACPI Exception: AE_NOT_EXIST, while evaluating GPE method [_L01] (20110112/evgpe-551)
Jun 28 14:13:26 gnu-18 kernel: [  628.826752] ACPI Error: No handler for Region [ECF2] (ffff88013763b6c0) [EmbeddedControl] (20110112/evregion-369)
Jun 28 14:13:26 gnu-18 kernel: [  628.826761] ACPI Error: Region EmbeddedControl(0x3) has no handler (20110112/exfldio-292)
Jun 28 14:13:26 gnu-18 kernel: [  628.826768] ACPI Error: Method parse/execution failed [\_GPE._L01] (Node ffff88013765a488), AE_NOT_EXIST (20110112/psparse-536)

This patch avoids enabling GPE if GPE dispatch failed. Now I got only one kernel message:

Jun 28 14:38:51 gnu-18 kernel: [    0.937479] ACPI Error: No handler for Region [ECF2] (ffff88013763b6c0) [EmbeddedControl] (20110112/evregion-369)
Jun 28 14:38:51 gnu-18 kernel: [    0.937485] ACPI Error: Region EmbeddedControl(0x3) has no handler (20110112/exfldio-292)
Jun 28 14:38:51 gnu-18 kernel: [    0.937490] ACPI Error: Method parse/execution failed [\_GPE._L01] (Node ffff88013765a488), AE_NOT_EXIST (20110112/psparse-536)
Jun 28 14:38:51 gnu-18 kernel: [    0.937502] ACPI Exception: AE_NOT_EXIST, while evaluating GPE method [_L01] (20110112/evgpe-551)

H.J.
---

drivers/acpi/acpica/evgpe.c +0 -0
index f472521..5b1f4b2 100644
@@ -559,11 +559,13 @@ static void ACPI_SYSTEM_XFACE acpi_ev_asynch_execute_gpe_method(void *context)
 
    /* Defer enabling of GPE until all notify handlers are done */
 
Quoted 16 lines
Quoted 8 lines
Quoted 8 lines
drivers/acpi/acpica/evgpe.c +3 -5
-   status = acpi_os_execute(OSL_NOTIFY_HANDLER,
-                            acpi_ev_asynch_enable_gpe,
-                            local_gpe_event_info);
-   if (ACPI_FAILURE(status)) {
-           ACPI_FREE(local_gpe_event_info);
+   if (!ACPI_FAILURE(status)) {
+           status = acpi_os_execute(OSL_NOTIFY_HANDLER,
+                                    acpi_ev_asynch_enable_gpe,
Quoted 8 lines

drivers/acpi/acpica/evgpe.c static void ACPI_SYSTEM_XFACE acpi_ev_asynch_execute_gpe_method(void *context) · line 571

Quoted 8 lines
drivers/acpi/acpica/evgpe.c +4 -0
+                                    local_gpe_event_info);
+           if (ACPI_FAILURE(status)) {
+                   ACPI_FREE(local_gpe_event_info);
+           }
    }
    return_VOID;
 }

Here it is.