diff options
Diffstat (limited to 'drivers/acpi/reboot.c')
| -rw-r--r-- | drivers/acpi/reboot.c | 14 | 
1 files changed, 9 insertions, 5 deletions
diff --git a/drivers/acpi/reboot.c b/drivers/acpi/reboot.c index 93f91142d7a..a6c77e8b37b 100644 --- a/drivers/acpi/reboot.c +++ b/drivers/acpi/reboot.c @@ -15,9 +15,15 @@ void acpi_reboot(void)  	rr = &acpi_gbl_FADT.reset_register; -	/* Is the reset register supported? */ -	if (!(acpi_gbl_FADT.flags & ACPI_FADT_RESET_REGISTER) || -	    rr->bit_width != 8 || rr->bit_offset != 0) +	/* ACPI reset register was only introduced with v2 of the FADT */ + +	if (acpi_gbl_FADT.header.revision < 2) +		return; + +	/* Is the reset register supported? The spec says we should be +	 * checking the bit width and bit offset, but Windows ignores +	 * these fields */ +	if (!(acpi_gbl_FADT.flags & ACPI_FADT_RESET_REGISTER))  		return;  	reset_value = acpi_gbl_FADT.reset_value; @@ -45,6 +51,4 @@ void acpi_reboot(void)  		acpi_reset();  		break;  	} -	/* Wait ten seconds */ -	acpi_os_stall(10000000);  }  | 
