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