Re: [PATCH 1/1] ACPI: property: Ignore already existing data node tags

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

 



On Wed, Aug 24, 2022 at 2:00 PM Sakari Ailus
<sakari.ailus@xxxxxxxxxxxxxxx> wrote:
>
> ACPI node pointers are attached to data node handles, in order to resolve
> string references to them. _DSD guide allows the same node to be reached
> from multiple parent nodes, leading the node enumeration algorithm to each
> such nodes more than once. As attached data already already exists,
> attaching data with the same tag will fail. Address this problem by
> ignoring nodes that have been already tagged.
>
> Fixes: 1d52f10917a7 ("ACPI: property: Tie data nodes to acpi handles")
> Reported-by: Pierre-Louis Bossart <pierre-louis.bossart@xxxxxxxxxxxxxxx>
> Signed-off-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx>
> Tested-by: Pierre-Louis Bossart <pierre-louis.bossart@xxxxxxxxxxxxxxx>
> ---
>  drivers/acpi/property.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/acpi/property.c b/drivers/acpi/property.c
> index 7b3ad8ed2f4e6..fa97b31214a83 100644
> --- a/drivers/acpi/property.c
> +++ b/drivers/acpi/property.c
> @@ -370,7 +370,7 @@ static bool acpi_tie_nondev_subnodes(struct acpi_device_data *data)
>                 bool ret;
>
>                 status = acpi_attach_data(dn->handle, acpi_nondev_subnode_tag, dn);
> -               if (ACPI_FAILURE(status)) {
> +               if (ACPI_FAILURE(status) && status != AE_ALREADY_EXISTS) {
>                         acpi_handle_err(dn->handle, "Can't tag data node\n");
>                         return false;
>                 }
> --

Applied, 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