Received: by 2002:a25:4158:0:0:0:0:0 with SMTP id o85csp2939014yba; Tue, 16 Apr 2019 00:54:34 -0700 (PDT) X-Google-Smtp-Source: APXvYqxBzM4ZZLad9LPsXrXT6FHN0rOKptJavBOkIf63kHCGEWwcSttDcmZUCzpCNWf4w+9oXCW1 X-Received: by 2002:a62:aa01:: with SMTP id e1mr80831830pff.43.1555401274456; Tue, 16 Apr 2019 00:54:34 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1555401274; cv=none; d=google.com; s=arc-20160816; b=I/QZ2K2N4X7wASSkVxGchbw6cSTUc86VSBIs9fq2VsP+tr7bLTR+O0ild1NvHlKxU4 +aecp3FPWpLsDDvusVTyFLt5B2agieKM8eHo9M8tMlm5eEijB4/QMIK1EODNDhtIQJDB qjGsznUunzkBn4x9/3E7lCOaDCccjktqCl3+UzublMz1O9MOBTksdcSpXZV+5CmB9xVQ unaO5GrVLFFqyfnoSVwWWG50lt4O9WGjh3ioQj+s/VkBtDP4zQ4y5qcIWpQGgu8nCLjR PH4m0LQkvJSZlEZsvmAzj2dmdEg1yoCftbZATNyrfAzcf4p11UzBFDrMhPOUlbXBbEQ1 HrVg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-disposition :content-transfer-encoding:mime-version:robot-unsubscribe:robot-id :git-commit-id:subject:to:references:in-reply-to:reply-to:cc :message-id:from:date; bh=rRJyldOp3xetJmpCaDLKARGxzIQLASNWohxBINTRLec=; b=iMijplMZcs6q7X9cQRdlVroulTNDgbso7umm0ZsVddVxQjgjy/jimaDz5WP5sRSn1z rz0JApWmT6ex9PXtKU0c8KMZinfUZ8CgUceKE39BJBSxT/pkmaVUFUcHYAE7iZZZVSYu O4qHoyjRSPJYbDLt1jJgQY0KANHyNFp+jy8qayK3YJt3p7n/3KfT+ELEi/8PgFTqgmkV GYJ5O9JGfr2F3NQXqtdWutAKK18W7auDIBOcgCq00pPubQI2TutpoklyFth07TK6qUWa 3RIg10USaEXk2wUvEeFlqJHQoQ2EXpPgEYOs08Ozxxvvmei4xNwO6RdTfOFpa+Zs0GhD v36w== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id f13si8665014plm.410.2019.04.16.00.54.18; Tue, 16 Apr 2019 00:54:34 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728506AbfDPHwZ (ORCPT + 99 others); Tue, 16 Apr 2019 03:52:25 -0400 Received: from terminus.zytor.com ([198.137.202.136]:39273 "EHLO terminus.zytor.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726895AbfDPHwZ (ORCPT ); Tue, 16 Apr 2019 03:52:25 -0400 Received: from terminus.zytor.com (localhost [127.0.0.1]) by terminus.zytor.com (8.15.2/8.15.2) with ESMTPS id x3G7q8TP3338752 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO); Tue, 16 Apr 2019 00:52:08 -0700 Received: (from tipbot@localhost) by terminus.zytor.com (8.15.2/8.15.2/Submit) id x3G7q8Q93338749; Tue, 16 Apr 2019 00:52:08 -0700 Date: Tue, 16 Apr 2019 00:52:08 -0700 X-Authentication-Warning: terminus.zytor.com: tipbot set sender to tipbot@zytor.com using -f From: tip-bot for Jian-Hong Pan Message-ID: Cc: bp@alien8.de, matt@codeblueprint.co.uk, linux-kernel@vger.kernel.org, jian-hong@endlessm.com, ard.biesheuvel@linaro.org, peterz@infradead.org, torvalds@linux-foundation.org, tglx@linutronix.de, hpa@zytor.com, mingo@kernel.org, drake@endlessm.com Reply-To: drake@endlessm.com, jian-hong@endlessm.com, mingo@kernel.org, linux-kernel@vger.kernel.org, hpa@zytor.com, matt@codeblueprint.co.uk, torvalds@linux-foundation.org, bp@alien8.de, tglx@linutronix.de, ard.biesheuvel@linaro.org, peterz@infradead.org In-Reply-To: <20190412080152.3718-1-jian-hong@endlessm.com> References: <20190412080152.3718-1-jian-hong@endlessm.com> To: linux-tip-commits@vger.kernel.org Subject: [tip:x86/urgent] x86/reboot: Use EFI reboot for Acer TravelMate X514-51T Git-Commit-ID: 5767575c1211e8958e5dd80d6542998b519c8478 X-Mailer: tip-git-log-daemon Robot-ID: Robot-Unsubscribe: Contact to get blacklisted from these emails MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset=UTF-8 Content-Disposition: inline X-Spam-Status: No, score=0.3 required=5.0 tests=ALL_TRUSTED,BAYES_00, DATE_IN_FUTURE_12_24 autolearn=no autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on terminus.zytor.com Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Commit-ID: 5767575c1211e8958e5dd80d6542998b519c8478 Gitweb: https://git.kernel.org/tip/5767575c1211e8958e5dd80d6542998b519c8478 Author: Jian-Hong Pan AuthorDate: Fri, 12 Apr 2019 16:01:53 +0800 Committer: Ingo Molnar CommitDate: Tue, 16 Apr 2019 09:49:16 +0200 x86/reboot: Use EFI reboot for Acer TravelMate X514-51T 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. So add a boot time quirk to use EFI reboot on such systems. Buglink: https://bugzilla.kernel.org/show_bug.cgi?id=203119 Signed-off-by: Jian-Hong Pan Signed-off-by: Daniel Drake Cc: Ard Biesheuvel Cc: Borislav Petkov Cc: Linus Torvalds Cc: Matt Fleming Cc: Peter Zijlstra Cc: Thomas Gleixner Cc: linux-efi@vger.kernel.org Cc: linux@endlessm.com Link: http://lkml.kernel.org/r/20190412080152.3718-1-jian-hong@endlessm.com [ Small clarification edits to the code and changelog. ] Signed-off-by: Ingo Molnar --- 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..8fd3cedd9acc 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 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 */