> >> @@ -47,6 +49,26 @@ void __init __acpi_unmap_table(char *map, unsigned long 
> >> size)
> >>    early_memunmap(map, size);
> >>  }
> >>  
> >> +static int __init acpi_parse_fadt(struct acpi_table_header *table)
> >> +{
> >> +  struct acpi_table_fadt *fadt = (struct acpi_table_fadt *)table;
> >> +
> >> +  /*
> >> +   * Revision in table header is the FADT Major version,
> >> +   * and there is a minor version of FADT which was introduced
> >> +   * by ACPI 5.1, we only deal with ACPI 5.1 or higher version
> >> +   * to get arm boot flags, or we will disable ACPI.
> >> +   */
> >> +  if (table->revision < 5 || fadt->minor_revision < 1) {
> > 
> > If we ever get revision 6.0, this would trigger.
> 
> Yes, good catch, actually I already fixed that in my local git repo,
> 
> +       if (table->revision > 5 ||
> +           (table->revision == 5 && fadt->minor_revision >= 1)) {
> +               return 0;
> +       } else {
> +               pr_info("FADT revision is %d.%d, no PSCI support, should be 
> 5.1
> or higher\n",
> +                       table->revision, fadt->minor_revision);
> +               disable_acpi();
> +               return -EINVAL;
> +       }

Given you return in the first path, you don't need the remaining code to
live in an else block.

Mark.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to