summaryrefslogtreecommitdiffstats
path: root/arm64-acpi-ignore-5.1-fadts-reported-as-5.0.patch
diff options
context:
space:
mode:
authorThorsten Leemhuis <fedora@leemhuis.info>2019-07-09 21:08:25 +0200
committerThorsten Leemhuis <fedora@leemhuis.info>2019-07-09 21:08:25 +0200
commit959cd3ad26748801b73a3025b9c2835dc70e644c (patch)
treef0207748ce26b75a2e277846574a98924acf7eac /arm64-acpi-ignore-5.1-fadts-reported-as-5.0.patch
parentbb30288ad29d581b4c12c1daf39cd1b265bf254d (diff)
parent5c2ab4e801af208f640dc06a07e6a55cca2c1d74 (diff)
downloadkernel-959cd3ad26748801b73a3025b9c2835dc70e644c.tar.gz
kernel-959cd3ad26748801b73a3025b9c2835dc70e644c.tar.xz
kernel-959cd3ad26748801b73a3025b9c2835dc70e644c.zip
merge origin, 5.2.0
Diffstat (limited to 'arm64-acpi-ignore-5.1-fadts-reported-as-5.0.patch')
-rw-r--r--arm64-acpi-ignore-5.1-fadts-reported-as-5.0.patch41
1 files changed, 41 insertions, 0 deletions
diff --git a/arm64-acpi-ignore-5.1-fadts-reported-as-5.0.patch b/arm64-acpi-ignore-5.1-fadts-reported-as-5.0.patch
new file mode 100644
index 000000000..6cf0ba926
--- /dev/null
+++ b/arm64-acpi-ignore-5.1-fadts-reported-as-5.0.patch
@@ -0,0 +1,41 @@
+From a7edc17544709d20f800dc0898096365a3d68613 Mon Sep 17 00:00:00 2001
+From: Ard Biesheuvel <ard.biesheuvel@linaro.org>
+Date: Sun, 2 Jun 2019 16:36:15 +0200
+Subject: [PATCH] acpi/arm64: ignore 5.1 FADTs that are reported as 5.0
+
+Some Qualcomm Snapdragon based laptops built to run Microsoft Windows
+are clearly ACPI 5.1 based, given that that is the first ACPI revision
+that supports ARM, and introduced the FADT 'arm_boot_flags' field,
+which has a non-zero field on those systems.
+
+So in these cases, infer from the ARM boot flags that the FADT must be
+5.1 or later, and treat it as 5.1.
+
+Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
+---
+ arch/arm64/kernel/acpi.c | 10 +++++++---
+ 1 file changed, 7 insertions(+), 3 deletions(-)
+
+diff --git a/arch/arm64/kernel/acpi.c b/arch/arm64/kernel/acpi.c
+index 803f0494dd3e3..7722e85fb69c3 100644
+--- a/arch/arm64/kernel/acpi.c
++++ b/arch/arm64/kernel/acpi.c
+@@ -155,10 +155,14 @@ static int __init acpi_fadt_sanity_check(void)
+ */
+ if (table->revision < 5 ||
+ (table->revision == 5 && fadt->minor_revision < 1)) {
+- pr_err("Unsupported FADT revision %d.%d, should be 5.1+\n",
++ pr_err(FW_BUG "Unsupported FADT revision %d.%d, should be 5.1+\n",
+ table->revision, fadt->minor_revision);
+- ret = -EINVAL;
+- goto out;
++
++ if (!fadt->arm_boot_flags) {
++ ret = -EINVAL;
++ goto out;
++ }
++ pr_err("FADT has ARM boot flags set, assuming 5.1\n");
+ }
+
+ if (!(fadt->flags & ACPI_FADT_HW_REDUCED)) {
+