lkml.org 
[lkml]   [2019]   [Jul]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.14 066/293] acpi/arm64: ignore 5.1 FADTs that are reported as 5.0
    Date
    [ Upstream commit 2af22f3ec3ca452f1e79b967f634708ff01ced8a ]

    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.

    Acked-by: Sudeep Holla <sudeep.holla@arm.com>
    Tested-by: Lee Jones <lee.jones@linaro.org>
    Reviewed-by: Graeme Gregory <graeme.gregory@linaro.org>
    Acked-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
    Acked-by: Hanjun Guo <guohanjun@huawei.com>
    Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
    Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
    Signed-off-by: Sasha Levin <sashal@kernel.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 b3162715ed78..285f0b4851fc 100644
    --- a/arch/arm64/kernel/acpi.c
    +++ b/arch/arm64/kernel/acpi.c
    @@ -157,10 +157,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)) {
    --
    2.20.1


    \
     
     \ /
      Last update: 2019-07-29 22:40    [W:4.038 / U:0.324 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site