Re: [PATCH 2/4] ACPI: workaround x86 firmware with mis-matched FADT/MADT revisions

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wednesday, October 14, 2015 03:26:23 PM Al Stone wrote:
> Looking across multiple versions of the ACPI specification, certain
> versions introduce new revision numbers for the FADT and/or MADT
> tables.  So, for example, an FADT indicating it is revision 4 should
> not be paired with an MADT revision of anything less than 2.
> 
> However, there are systems out there that do not update the revision
> fields in the FADT and MADT tables as they should.  So, for arm64, we
> can be stricter in complying with the specification, but we need to
> relax the checking for legacy systems.
> 
> Signed-off-by: Al Stone <al.stone@xxxxxxxxxx>
> ---
>  drivers/acpi/tables.c | 14 +++++++++++---
>  1 file changed, 11 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/acpi/tables.c b/drivers/acpi/tables.c
> index e5cfd72..3b5ddfb 100644
> --- a/drivers/acpi/tables.c
> +++ b/drivers/acpi/tables.c
> @@ -407,9 +407,17 @@ static int __init bad_madt_entry(struct acpi_table_header *table,
>  		ms++;
>  	}
>  	if (!ms->num_types) {
> -		pr_err("undefined version for either FADT %d.%d or MADT %d\n",
> -		       major, minor, madt->header.revision);
> -		return 1;
> +		if (IS_ENABLED(CONFIG_ARM64)) {
> +			/* Enforce this stricture on arm64... */
> +			pr_err("undefined version for either FADT %d.%d or MADT %d\n",
> +			       major, minor, madt->header.revision);
> +			return 1;
> +		} else {
> +			/* ... but relax it on legacy systems so they boot */
> +			pr_warn("undefined version for either FADT %d.%d or MADT %d\n",
> +			        major, minor, madt->header.revision);
> +			return 0;

Same comment as for the [1/4] applies here.

> +		}
>  	}
>  
>  	if (entry->type >= ms->num_types) {

Thanks,
Rafael

--
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux IBM ACPI]     [Linux Power Management]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]

  Powered by Linux