--- linux-2.6.34.noarch/include/acpi/acconfig.h~ 2010-07-01 14:49:03.000000000 -0400 +++ linux-2.6.34.noarch/include/acpi/acconfig.h 2010-07-01 14:49:17.000000000 -0400 @@ -117,7 +117,7 @@ /* Maximum number of While() loop iterations before forced abort */ -#define ACPI_MAX_LOOP_ITERATIONS 0xFFFF +#define ACPI_MAX_LOOP_ITERATIONS 0xFFFFFF /* Maximum sleep allowed via Sleep() operator */ --- a/drivers/acpi/acpica/dscontrol.c +++ b/drivers/acpi/acpica/dscontrol.c @@ -212,6 +212,11 @@ acpi_ds_exec_end_control_op(struct acpi_walk_state * walk_state, * loop does not implement a timeout. */ control_state->control.loop_count++; + if ((control_state->control.loop_count > 1) && + (control_state->control.loop_count % 0xffff == 0)) + printk("ACPI: While loop taking a really long time. loop_count=0x%x\n", + control_state->control.loop_count); + if (control_state->control.loop_count > ACPI_MAX_LOOP_ITERATIONS) { status = AE_AML_INFINITE_LOOP;