Re: 2.6.35-rc3 regression: IBM Maia system is unbootable [ACPI related?]

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: James Bottomley
Date: Monday, June 21, 2010 - 10:26 am

On Mon, 2010-06-21 at 11:54 -0500, James Bottomley wrote:

Another update: It's clear the problem is the new expectation that the
hardware sets ACPI mode instantly.  I applied the following patch on my
system to see how long it actually takes.  I see a single loop:

[    0.084087] ACPI: Core revision 20100428
[    0.119720] ACPI Error: Hardware did not enter ACPI mode, retry = 0 (20100428/evxfevnt-104)
[    0.128240] Setting APIC routing to physical flat

So it needs a delay of about 1ms (or one retry).

James

---
diff --git a/drivers/acpi/acpica/evxfevnt.c b/drivers/acpi/acpica/evxfevnt.c
index d5a5efc..bace473 100644
--- a/drivers/acpi/acpica/evxfevnt.c
+++ b/drivers/acpi/acpica/evxfevnt.c
@@ -70,6 +70,7 @@ acpi_ev_get_gpe_device(struct acpi_gpe_xrupt_info *gpe_xrupt_info,
 acpi_status acpi_enable(void)
 {
 	acpi_status status;
+	int retry = 0;
 
 	ACPI_FUNCTION_TRACE(acpi_enable);
 
@@ -98,6 +99,11 @@ acpi_status acpi_enable(void)
 
 	/* Sanity check that transition succeeded */
 
+	while (acpi_hw_get_mode() != ACPI_SYS_MODE_ACPI && retry < 3000) {
+		ACPI_ERROR((AE_INFO,
+			    "Hardware did not enter ACPI mode, retry = %d", retry++));
+		acpi_os_stall(1000);
+	}
 	if (acpi_hw_get_mode() != ACPI_SYS_MODE_ACPI) {
 		ACPI_ERROR((AE_INFO,
 			    "Hardware did not enter ACPI mode"));


--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
Re: 2.6.35-rc3 regression: IBM Maia system is unbootable [ ..., James Bottomley, (Mon Jun 21, 10:26 am)