From: Len Brown <lenb@kernel.org>
To: linux-acpi@vger.kernel.org
Cc: Matthew Garrett <mjg@redhat.com>, Len Brown <len.brown@intel.com>
Subject: [PATCH 37/42] ACPI: Bug compatibility for Windows on the ACPI reboot vector
Date: Wed, 23 Mar 2011 02:42:50 -0400 [thread overview]
Message-ID: <6734fe57a07b2dd23ef1ef2ac1f790747e53eefc.1300862481.git.len.brown@intel.com> (raw)
In-Reply-To: <1300862575-10206-1-git-send-email-lenb@kernel.org>
In-Reply-To: <073b4964b3b75fd9e19bf3933b26d9c23591c9db.1300862481.git.len.brown@intel.com>
From: Matthew Garrett <mjg@redhat.com>
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 | 9 ++++-----
1 files changed, 4 insertions(+), 5 deletions(-)
diff --git a/drivers/acpi/reboot.c b/drivers/acpi/reboot.c
index 93f9114..4870aaa 100644
--- a/drivers/acpi/reboot.c
+++ b/drivers/acpi/reboot.c
@@ -15,9 +15,10 @@ 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)
+ /* 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 +46,4 @@ void acpi_reboot(void)
acpi_reset();
break;
}
- /* Wait ten seconds */
- acpi_os_stall(10000000);
}
--
1.7.4.1.343.ga91df
next prev parent reply other threads:[~2011-03-23 7:07 UTC|newest]
Thread overview: 46+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-03-23 6:42 ACPI patch queue for 2.6.39-merge Len Brown
2011-03-23 6:42 ` [PATCH 01/42] ACPI: Do not export functions that are only used in osl.c Len Brown
2011-03-23 6:42 ` [PATCH 02/42] ACPI: Change acpi_ioremap_lock into a mutex Len Brown
2011-03-23 6:42 ` [PATCH 03/42] ACPI: Avoid walking the list of memory mappings in osl.c twice in a row Len Brown
2011-03-23 6:42 ` [PATCH 04/42] ACPI: Make acpi_os_map_memory() avoid creating unnecessary mappings Len Brown
2011-03-23 6:42 ` [PATCH 05/42] ACPI: Do not use krefs under a mutex in osl.c Len Brown
2011-03-23 6:42 ` [PATCH 06/42] ACPI: Introduce acpi_os_get_iomem() Len Brown
2011-03-23 6:42 ` [PATCH 07/42] ACPI / PM: Use existing ACPI iomaps for NVS save/restore (v2) Len Brown
2011-03-23 6:42 ` [PATCH 08/42] ACPI: Remove the wakeup.run_wake_count device field Len Brown
2011-03-23 6:42 ` [PATCH 09/42] ACPI / Button: Avoid disabling wakeup unnecessarily on remove Len Brown
2011-03-23 6:42 ` [PATCH 10/42] ACPI / PM: Drop acpi_restore_state_mem() Len Brown
2011-03-23 6:42 ` [PATCH 11/42] ACPI / PM: acpi_suspend_enter() need not switch interrupts off Len Brown
2011-03-23 6:42 ` [PATCH 12/42] ACPI / PM: Modify the "low-level resume finished" message Len Brown
2011-03-23 6:42 ` [PATCH 13/42] ACPI / PM: Call acpi_save_state_mem() right before low-level suspend Len Brown
2011-03-23 6:42 ` [PATCH 14/42] ACPI / PM: Merge do_suspend_lowlevel() into acpi_save_state_mem() Len Brown
2011-03-23 6:42 ` [PATCH 15/42] ACPI / PM: acpi_hibernation_enter() need not switch interrupts off Len Brown
2011-03-23 6:42 ` [PATCH 16/42] ACPI: Avoid calling request_irq() many times for the same interrupt Len Brown
2011-03-23 6:42 ` [PATCH 17/42] ACPICA: GPE detect optimization - ignore unused GPE registers Len Brown
2011-03-23 6:42 ` [PATCH 18/42] ACPICA: Remove use of unreliable FADT revision field Len Brown
2011-03-23 6:42 ` [PATCH 19/42] ACPICA: Clarify a couple of error messages Len Brown
2011-03-23 6:42 ` [PATCH 20/42] ACPICA: Split large utglobal into utdecode.c Len Brown
2011-03-23 6:42 ` [PATCH 21/42] ACPICA: Fix unresolved name issue for no-debug and no-error-msg cases Len Brown
2011-03-23 6:42 ` [PATCH 22/42] ACPICA: Split large dsopcode and dsload.c files Len Brown
2011-03-23 6:42 ` [PATCH 23/42] ACPICA: Add support for FunctionalFixedHW in acpi_ut_get_region_name Len Brown
2011-03-23 6:42 ` [PATCH 24/42] ACPICA: Add mechanism to defer _REG methods for some installed handlers Len Brown
2011-03-23 6:42 ` [PATCH 25/42] ACPICA: Update version to 20110211 Len Brown
2011-03-23 6:42 ` [PATCH 26/42] Thermal_Framework-Fix_crash_during_hwmon_unregister Len Brown
2011-03-23 6:42 ` [PATCH 27/42] ACPI: use __init where possible in processor driver Len Brown
2011-03-23 6:42 ` [PATCH 28/42] ACPI: use __cpuinit for the acpi_processor_set_pdc() call tree Len Brown
2011-03-23 6:42 ` [PATCH 29/42] ACPI: Remove the unused EC sysdev class Len Brown
2011-03-23 6:42 ` [PATCH 30/42] ACPI: Use syscore_ops instead of sysdev class and sysdev Len Brown
2011-03-23 6:42 ` [PATCH 31/42] ACPI, APEI, Add ERST record ID cache Len Brown
2011-03-23 6:42 ` [PATCH 32/42] PCIe, AER, use pre-generated prefix in error information printing Len Brown
2011-03-23 6:42 ` [PATCH 33/42] ACPI, APEI, Add PCIe AER error information printing support Len Brown
2011-03-23 6:42 ` [PATCH 34/42] ACPI button: remove unused procfs I/F Len Brown
2011-03-23 6:42 ` [PATCH 35/42] ACPI battery: fribble sysfs files from a resume notifier Len Brown
2011-03-23 13:40 ` Kyle McMartin
2011-04-13 10:37 ` Kyle McMartin
2011-04-24 23:55 ` [stable] " Greg KH
2011-03-23 6:42 ` [PATCH 36/42] ACPICA: Fix access width for reset vector Len Brown
2011-03-23 6:42 ` Len Brown [this message]
2011-03-23 6:42 ` [PATCH 38/42] ACPI: Make sure the FADT is at least rev 2 before using the reset register Len Brown
2011-03-23 6:42 ` [PATCH 39/42] ACPICA: Header support for SLIC table Len Brown
2011-03-23 6:42 ` [PATCH 40/42] ACPICA: Update version to 20110316 Len Brown
2011-03-23 6:42 ` [PATCH 41/42] ACPI: make acpi_pad /sys output more readable Len Brown
2011-03-23 6:42 ` [PATCH 42/42] ACPI: minor printk format change in acpi_pad Len Brown
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=6734fe57a07b2dd23ef1ef2ac1f790747e53eefc.1300862481.git.len.brown@intel.com \
--to=lenb@kernel.org \
--cc=len.brown@intel.com \
--cc=linux-acpi@vger.kernel.org \
--cc=mjg@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).