Re: [PATCH v2] ACPI/PRM: Find PRMT table before parse it

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

 



On Wed, Sep 8, 2021 at 1:00 PM Aubrey Li <aubrey.li@xxxxxxxxx> wrote:
>
> Find and verify PRMT table before parse it, this eliminates a
> warning on machines without PRMT table.
>
>         [    7.197173] ACPI: PRMT not present
>
> Fixes: cefc7ca46235 ("ACPI: PRM: implement OperationRegion handler for the PlatformRtMechanism subtype")
> Signed-off-by: Aubrey Li <aubrey.li@xxxxxxxxxxxxxxx>
> Tested-by: Paul Menzel <pmenzel@xxxxxxxxxxxxx>
> ---
>  drivers/acpi/prmt.c | 10 +++++++++-
>  1 file changed, 9 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/acpi/prmt.c b/drivers/acpi/prmt.c
> index 1f6007a..89c22bc 100644
> --- a/drivers/acpi/prmt.c
> +++ b/drivers/acpi/prmt.c
> @@ -288,10 +288,18 @@ static acpi_status acpi_platformrt_space_handler(u32 function,
>
>  void __init init_prmt(void)
>  {
> +       struct acpi_table_header *tbl;
>         acpi_status status;
> -       int mc = acpi_table_parse_entries(ACPI_SIG_PRMT, sizeof(struct acpi_table_prmt) +
> +       int mc;
> +
> +       status = acpi_get_table(ACPI_SIG_PRMT, 0, &tbl);
> +       if (ACPI_FAILURE(status))
> +               return;
> +
> +       mc = acpi_table_parse_entries(ACPI_SIG_PRMT, sizeof(struct acpi_table_prmt) +
>                                           sizeof (struct acpi_table_prmt_header),
>                                           0, acpi_parse_prmt, 0);
> +       acpi_put_table(tbl);
>         /*
>          * Return immediately if PRMT table is not present or no PRM module found.
>          */
> --

Applied as 5.15-rc material with some edits in the subject and
changelog, thanks!



[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