Messages in this thread Patch in this message | | | From | Bryan Donlan <> | Subject | [PATCH] Add quirk for ACPI reboots on Intel DP55KG boards. | Date | Thu, 15 Oct 2009 18:29:56 -0400 |
| |
Keyboard-based and BIOS-based reboots don't work on Intel DP55KG boards; use ACPI reboots instead.
Reported-By: Justin Piszcz <jpiszcz@lucidpixels.com> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: Ingo Molnar <mingo@redhat.com> Cc: "H. Peter Anvin" <hpa@zytor.com> Cc: x86@kernel.org Signed-off-by: Bryan Donlan <bdonlan@gmail.com> --- arch/x86/kernel/reboot.c | 23 +++++++++++++++++++++++ 1 files changed, 23 insertions(+), 0 deletions(-)
Justin, could you give this patch a try? It should make the reboot=acpi workaround automatic. (x86 maintainers CC'd)
diff --git a/arch/x86/kernel/reboot.c b/arch/x86/kernel/reboot.c index a1a3cdd..67bfcef 100644 --- a/arch/x86/kernel/reboot.c +++ b/arch/x86/kernel/reboot.c @@ -134,6 +134,21 @@ static int __init set_bios_reboot(const struct dmi_system_id *d) return 0; } +/* + * Some machines require the "reboot=a" commandline option. + * This quirk makes that automatic. + */ +static int __init set_acpi_reboot(const struct dmi_system_id *d) +{ + if (reboot_type != BOOT_ACPI) { + reboot_type = BOOT_ACPI; + printk(KERN_INFO "%s series board detected. Selecting ACPI " + "method for reboots.\n", d->ident); + } + return 0; +} + + static struct dmi_system_id __initdata reboot_dmi_table[] = { { /* Handle problems with rebooting on Dell E520's */ .callback = set_bios_reboot, @@ -259,6 +274,14 @@ static struct dmi_system_id __initdata reboot_dmi_table[] = { DMI_MATCH(DMI_PRODUCT_NAME, "SBC-FITPC2"), }, }, + { /* Handle problems with rebooting on Intel DP55KG */ + .callback = set_acpi_reboot, + .ident = "Intel DP55KG", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Intel Corporation"), + DMI_MATCH(DMI_PRODUCT_NAME, "DP55KG"), + }, + }, { } }; -- 1.6.3.3
| |