History log of /drivers/acpi/reboot.c
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
19244ad06b70ed84931df868583547ce1cd3a186 20-Apr-2012 Linus Torvalds <torvalds@linux-foundation.org> Revert "ACPI: ignore FADT reset-reg-sup flag"

This reverts commit cf450136bfde77c7f95065c91bffded4aa7fa731.

It breaks reboot on at least one Thinkpad T43, as reported by Jörg Otte:
"On reboot it shuts down as normal.
The last lines displayed are:

>Unmounting temporary filesystems.. [OK]
>Deactivating swap... [OK]
>Unmounting local filesystems... [OK]
>Will now restart
> Restarting system

Then I hear it accessing the cd-drive, but then it's being stuck."

Jörg bisected the regression to this commit.

That commit fixes another machine (see

https://bugzilla.kernel.org/show_bug.cgi?id=11533

for details) that has a BIOS bug and doesn't support ACPI reset.
However, at least one of those other reporters no longer even has the
machine in question, and had a different workaround to begin with.
Besides, it clearly was a buggy BIOS. Let's not break the correct case
to fix that case.

Reported-and-bisected-by: Jörg Otte <jrg.otte@googlemail.com>
Cc: linux-acpi@vger.kernel.org
Cc: Len Brown <lenb@kernel.org>
Cc: Peter Anvin <hpa@zytor.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
/drivers/acpi/reboot.c
cf450136bfde77c7f95065c91bffded4aa7fa731 31-Jul-2011 Len Brown <len.brown@intel.com> ACPI: ignore FADT reset-reg-sup flag

we check that the address is non-zero later anyway.

https://bugzilla.kernel.org/show_bug.cgi?id=11533

Signed-off-by: Len Brown <len.brown@intel.com>
/drivers/acpi/reboot.c
95cf3e12e7f659e536215b37c67d46f3e2ce95cc 11-Mar-2011 Matthew Garrett <mjg@redhat.com> ACPI: Make sure the FADT is at least rev 2 before using the reset register

The reset register was only introduced with version 2 of the FADT, so we
should check that the FADT revision before trusting its contents.

Signed-off-by: Matthew Garrett <mjg@redhat.com>
Signed-off-by: Len Brown <len.brown@intel.com>
/drivers/acpi/reboot.c
6734fe57a07b2dd23ef1ef2ac1f790747e53eefc 11-Mar-2011 Matthew Garrett <mjg@redhat.com> ACPI: Bug compatibility for Windows on the ACPI reboot vector

Windows ignores the bit_offset and bit_width, despite the spec requiring
that they be validated. Drop the checks so that we match this behaviour.
Windows also goes straight for the keyboard controller if the ACPI reboot
fails, so we shouldn't sleep if we're still alive.

Signed-off-by: Matthew Garrett <mjg@redhat.com>
Signed-off-by: Len Brown <len.brown@intel.com>
/drivers/acpi/reboot.c
2ee62612485f888b731804ca1b3b18ed8e842b51 16-Dec-2008 Lin Ming <ming.m.lin@intel.com> ACPI: reboot.c: use new acpi_reset interface

Use new acpi_reset interface to write to reset register

Signed-off-by: Lin Ming <ming.m.lin@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
/drivers/acpi/reboot.c
ecfbbc7b46f74ca48b9f42132739114c9e70f8e4 30-Dec-2008 Bob Moore <robert.moore@intel.com> ACPICA: New: acpi_read and acpi_write public interfaces

Changed the acpi_hw_low_level_read and acpi_hw_low_level_write functions to
the public acpi_read and acpi_write to allow direct access to
ACPI registers. Removed the "width" parameter since the width
can be obtained from the input GAS structure. Updated the FADT
initialization to setup the GAS structures with the proper
widths. Some widths are still hardcoded because many FADTs have
incorrect register lengths.

Signed-off-by: Bob Moore <robert.moore@intel.com
Signed-off-by: Lin Ming <ming.m.lin@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
/drivers/acpi/reboot.c
d17cb18a07c587b8f9ff174a1bf6d03413eabe64 07-Nov-2008 Len Brown <len.brown@intel.com> Revert "ACPI: Ingore the RESET_REG_SUP bit when using ACPI reset mechanism"

This reverts commit 8fd145917fb62368a9b80db59562c20576238f5a.

http://bugzilla.kernel.org/show_bug.cgi?id=11942

Signed-off-by: Len Brown <len.brown@intel.com>
/drivers/acpi/reboot.c
8fd145917fb62368a9b80db59562c20576238f5a 17-Oct-2008 Zhao Yakui <yakui.zhao@intel.com> ACPI: Ingore the RESET_REG_SUP bit when using ACPI reset mechanism

According to ACPI 3.0, FADT.flags.RESET_REG_SUP indicates
whether the ACPI reboot mechanism is supported.

However, some boxes have this bit clear, have a valid
ACPI_RESET_REG & RESET_VALUE, and ACPI reboot is the only
mechanism that works for them after S3.

This suggests that other operating systems may not be checking
the RESET_REG_SUP bit, and are using other means to decide
whether to use the ACPI reboot mechanism or not.

Here we stop checking RESET_REG_SUP.
Instead, When acpi reboot is requested,
only the reset_register is checked. If the following
conditions are met, it indicates that the reset register is supported.
a. reset_register is not zero
b. the access width is eight
c. the bit_offset is zero

http://bugzilla.kernel.org/show_bug.cgi?id=7299
http://bugzilla.kernel.org/show_bug.cgi?id=1148

Signed-off-by: Zhao Yakui <yakui.zhao@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
/drivers/acpi/reboot.c
4d3870431d17346c4fdd80e087b7d76f1b5941d5 16-Jul-2008 Aaron Durbin <adurbin@google.com> Add the ability to reset the machine using the RESET_REG in ACPI's FADT table.

Signed-off-by: Aaron Durbin <adurbin@google.com>
Signed-off-by: Andi Kleen <ak@linux.intel.com>
Cc: Len Brown <lenb@kernel.org>
Cc: Andi Kleen <andi@firstfloor.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
/drivers/acpi/reboot.c