[PATCH] Use BIOS reboot on Toshiba Portege 4000

From: Andrey Borzenkov
Date: Fri Oct 31 2008 - 14:19:13 EST


Subject: [PATCH] Use BIOS reboot on Toshiba Portege 4000

From: Andrey Borzenkov <arvidjaar@xxxxxxx>

After commit c7ffa6c26277b403920e2255d10df849bd613380 which defaults
to reboot via ACPI keyboard is dead on Toshiba Portege 4000 upon reboot.
Power off is required to revive it again. Add DMI entry to force BIOS
reboot method as it was before.

Signed-off-by: Andrey Borzenkov <arvidjaar@xxxxxxx>

---

This fixes regression in 2.6.28. Commit log states:

Triple-fault and keyboard reset may assert INIT instead of RESET; however
INIT is blocked when Intel VT is enabled. This leads to a partially reset
machine when invoking emergency_restart via sysrq-b: the processor is still
working but other parts of the system are dead.

I wonder if we better check for VT bit instead of using DMI entries?

arch/x86/kernel/reboot.c | 8 ++++++++
1 files changed, 8 insertions(+), 0 deletions(-)


diff --git a/arch/x86/kernel/reboot.c b/arch/x86/kernel/reboot.c
index f4c93f1..f9b28b3 100644
--- a/arch/x86/kernel/reboot.c
+++ b/arch/x86/kernel/reboot.c
@@ -197,6 +197,14 @@ static struct dmi_system_id __initdata reboot_dmi_table[] = {
DMI_MATCH(DMI_PRODUCT_NAME, "HP Compaq"),
},
},
+ { /* Handle problems with rebooting on Toshiba Portege 4000 */
+ .callback = set_bios_reboot,
+ .ident = "Toshiba Portege 4000",
+ .matches = {
+ DMI_MATCH(DMI_SYS_VENDOR, "TOSHIBA"),
+ DMI_MATCH(DMI_PRODUCT_NAME, "PORTEGE 4000"),
+ },
+ },
{ }
};

Attachment: signature.asc
Description: This is a digitally signed message part.