Re: [PATCH v2] ACPI/PCI: pci_link: use extended_irq union member when setting ext-irq shareable

Rafael J. Wysocki
2020-04-18T19:39:26Z

On Monday, April 13, 2020 3:09:49 PM CEST Hans de Goede wrote:
> The case ACPI_RESOURCE_TYPE_EXTENDED_IRQ inside acpi_pci_link_set()
> is correctly using resource->res.data.extended_irq.foo for most settings,
> but for the shareable setting it so far has accidentally been using
> resource->res.data.irq.shareable instead of
> resource->res.data.extended_irq.shareable.
>
> Note that the old code happens to also work because the shareable field
> offset is the same for both the acpi_resource_irq and
> acpi_resource_extended_irq structs.
>
> Acked-by: Bjorn Helgaas <bhelgaas@google.com>
> Signed-off-by: Hans de Goede <hdegoede@redhat.com>
> ---
> Changes in v2:
> - Fix some spelling errors in the commit message pointed out by Bjorn
> - Add Bjorn's Acked-by
> ---
> drivers/acpi/pci_link.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/acpi/pci_link.c b/drivers/acpi/pci_link.c
> index 00a6da2121be..ed3d2182cf2c 100644
> --- a/drivers/acpi/pci_link.c
> +++ b/drivers/acpi/pci_link.c
> @@ -322,10 +322,10 @@ static int acpi_pci_link_set(struct acpi_pci_link *link, int irq)
> resource->res.data.extended_irq.polarity =
> link->irq.polarity;
> if (link->irq.triggering == ACPI_EDGE_SENSITIVE)
> - resource->res.data.irq.shareable =
> + resource->res.data.extended_irq.shareable =
> ACPI_EXCLUSIVE;
> else
> - resource->res.data.irq.shareable = ACPI_SHARED;
> + resource->res.data.extended_irq.shareable = ACPI_SHARED;
> resource->res.data.extended_irq.interrupt_count = 1;
> resource->res.data.extended_irq.interrupts[0] = irq;
> /* ignore resource_source, it's optional */
>

Applied as 5.7-rc material, thanks!