]> Pileus Git - ~andy/linux/blobdiff - drivers/acpi/reboot.c
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux...
[~andy/linux] / drivers / acpi / reboot.c
index 93f91142d7ad5ca01fc62b8dc16569660cfa0434..a6c77e8b37bde54c266cae17d620c441a896e3b9 100644 (file)
@@ -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);
 }