forked from rpms/kernel
		
	
		
			
				
	
	
		
			26 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			26 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
| --- linux-2.6.34.noarch/drivers/acpi/acpica/acconfig.h~	2010-07-01 14:49:03.000000000 -0400
 | |
| +++ linux-2.6.34.noarch/drivers/acpi/acpica/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;
 |