summaryrefslogtreecommitdiffstats
path: root/drivers/acpi/reboot.c
diff options
context:
space:
mode:
authorLen Brown <len.brown@intel.com>2011-03-23 02:34:15 -0400
committerLen Brown <len.brown@intel.com>2011-03-23 02:34:15 -0400
commitf7f28f7e8c42c67c4bce24415c6cd6da222a1798 (patch)
treebcfeea0ca42e17c04d119b5bfb086fbf112903ca /drivers/acpi/reboot.c
parent5c129a8600100a5d0f5fdbc1014c5dba1d307bc4 (diff)
parent95cf3e12e7f659e536215b37c67d46f3e2ce95cc (diff)
Merge branch 'reset' into release
Diffstat (limited to 'drivers/acpi/reboot.c')
-rw-r--r--drivers/acpi/reboot.c14
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);
}