I believe the following should resolve this issue. I'll build a test kernel for you to try, please stay tuned. Thanks.
diff --git a/arch/x86/kernel/reboot.c b/arch/x86/kernel/reboot.c index eaa6344..bc066fa 100644 --- a/arch/x86/kernel/reboot.c +++ b/arch/x86/kernel/reboot.c @@ -286,6 +286,14 @@ static struct dmi_system_id __initdata reboot_dmi_table[] = { DMI_MATCH(DMI_PRODUCT_NAME, "Dell XPS710"), }, }, + { /* Handle problems with rebooting on ASUS P4S800 */ + .callback = set_bios_reboot, + .ident = "ASUS P4S800", + .matches = { + DMI_MATCH(DMI_BOARD_VENDOR, "ASUSTeK Computer INC."), + DMI_MATCH(DMI_BOARD_NAME, "P4S800"), + }, + }, { } };
I believe the following should resolve this issue. I'll build a test kernel for you to try, please stay tuned. Thanks.
diff --git a/arch/ x86/kernel/ reboot. c b/arch/ x86/kernel/ reboot. c x86/kernel/ reboot. c x86/kernel/ reboot. c
DMI_ MATCH(DMI_ PRODUCT_ NAME, "Dell XPS710"), DMI_BOARD_ VENDOR, "ASUSTeK Computer INC."), DMI_BOARD_ NAME, "P4S800"),
index eaa6344..bc066fa 100644
--- a/arch/
+++ b/arch/
@@ -286,6 +286,14 @@ static struct dmi_system_id __initdata reboot_dmi_table[] = {
},
},
+ { /* Handle problems with rebooting on ASUS P4S800 */
+ .callback = set_bios_reboot,
+ .ident = "ASUS P4S800",
+ .matches = {
+ DMI_MATCH(
+ DMI_MATCH(
+ },
+ },
{ }
};