|
|
@@ -81,6 +81,19 @@ static int __init set_bios_reboot(const struct dmi_system_id *d)
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
|
+/*
|
|
|
+ * Some machines don't handle the default ACPI reboot method and
|
|
|
+ * require the EFI reboot method:
|
|
|
+ */
|
|
|
+static int __init set_efi_reboot(const struct dmi_system_id *d)
|
|
|
+{
|
|
|
+ if (reboot_type != BOOT_EFI && !efi_runtime_disabled()) {
|
|
|
+ reboot_type = BOOT_EFI;
|
|
|
+ pr_info("%s series board detected. Selecting EFI-method for reboot.\n", d->ident);
|
|
|
+ }
|
|
|
+ return 0;
|
|
|
+}
|
|
|
+
|
|
|
void __noreturn machine_real_restart(unsigned int type)
|
|
|
{
|
|
|
local_irq_disable();
|
|
|
@@ -166,6 +179,14 @@ static const struct dmi_system_id reboot_dmi_table[] __initconst = {
|
|
|
DMI_MATCH(DMI_PRODUCT_NAME, "AOA110"),
|
|
|
},
|
|
|
},
|
|
|
+ { /* Handle reboot issue on Acer TravelMate X514-51T */
|
|
|
+ .callback = set_efi_reboot,
|
|
|
+ .ident = "Acer TravelMate X514-51T",
|
|
|
+ .matches = {
|
|
|
+ DMI_MATCH(DMI_SYS_VENDOR, "Acer"),
|
|
|
+ DMI_MATCH(DMI_PRODUCT_NAME, "TravelMate X514-51T"),
|
|
|
+ },
|
|
|
+ },
|
|
|
|
|
|
/* Apple */
|
|
|
{ /* Handle problems with rebooting on Apple MacBook5 */
|