linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2] x86/reboot: Use efi reboot for Acer TravelMate X514-51T
@ 2019-04-12  8:01 Jian-Hong Pan
  2019-04-16  7:52 ` [tip:x86/urgent] x86/reboot: Use EFI " tip-bot for Jian-Hong Pan
  2019-04-16  8:07 ` [tip:x86/urgent] x86/reboot, efi: " tip-bot for Jian-Hong Pan
  0 siblings, 2 replies; 15+ messages in thread
From: Jian-Hong Pan @ 2019-04-12  8:01 UTC (permalink / raw)
  To: Thomas Gleixner, Ingo Molnar, Borislav Petkov
  Cc: x86, linux-kernel, linux, Jian-Hong Pan, Daniel Drake

Upon reboot, the Acer TravelMate X514-51T laptop appears to complete the
shutdown process, but then it hangs in BIOS POST with a black screen.

The problem is intermittent - at some points it has appeared related to
Secure Boot settings or different kernel builds, but ultimately we have
not been able to identify the exact conditions that trigger the issue to
come and go.

Besides, the EFI mode cannot be disabled in the BIOS of this model.

However, after extensive testing, we observe that using the EFI reboot
method reliably avoids the issue in all cases.

Buglink: https://bugzilla.kernel.org/show_bug.cgi?id=203119
Signed-off-by: Jian-Hong Pan <jian-hong@endlessm.com>
Signed-off-by: Daniel Drake <drake@endlessm.com>
---
v2:
- Add the EFI runtime state checking in set_efi_reboot function for the
  quirk.
- Refine the printing information by writing "EFI" in the string
  directly.

 arch/x86/kernel/reboot.c | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/arch/x86/kernel/reboot.c b/arch/x86/kernel/reboot.c
index 725624b6c0c0..07111b8c41dd 100644
--- a/arch/x86/kernel/reboot.c
+++ b/arch/x86/kernel/reboot.c
@@ -81,6 +81,19 @@ static int __init set_bios_reboot(const struct dmi_system_id *d)
 	return 0;
 }
 
+/*
+ * Some machines require the "reboot=e" commandline options
+ */
+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 reboots.\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 */
-- 
2.20.1


^ permalink raw reply related	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2019-04-17 19:17 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-04-12  8:01 [PATCH v2] x86/reboot: Use efi reboot for Acer TravelMate X514-51T Jian-Hong Pan
2019-04-16  7:52 ` [tip:x86/urgent] x86/reboot: Use EFI " tip-bot for Jian-Hong Pan
2019-04-16  8:07 ` [tip:x86/urgent] x86/reboot, efi: " tip-bot for Jian-Hong Pan
2019-04-16  8:20   ` EFI reboot vs. ACPI reboot (was: Re: [tip:x86/urgent] x86/reboot, efi: Use EFI reboot for Acer TravelMate X514-51T) Ingo Molnar
2019-04-16 11:35     ` Daniel Drake
2019-04-17  6:16       ` Ingo Molnar
2019-04-17 12:38         ` Daniel Drake
2019-04-17 15:15           ` hpa
2019-04-17 15:45             ` Ard Biesheuvel
2019-04-17 17:22               ` Prakhya, Sai Praneeth
2019-04-17 18:23                 ` Ingo Molnar
2019-04-17 19:07                   ` Ard Biesheuvel
2019-04-17 19:17                     ` Ingo Molnar
2019-04-17 16:37             ` Ingo Molnar
2019-04-17 16:51               ` hpa

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).