diff options
author | Hans de Goede <hdegoede@redhat.com> | 2020-04-13 15:09:49 +0200 |
---|---|---|
committer | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2020-04-20 10:36:22 +0200 |
commit | 1c5e1cdd7c1f34e6d7f22f9b819a307e435e780e (patch) | |
tree | 8bfc77413494549ecaef9c7ace13b8f0553af8cf /drivers/acpi | |
parent | ae83d0b416db002fe95601e7f97f64b59514d936 (diff) | |
download | linux-stable-1c5e1cdd7c1f34e6d7f22f9b819a307e435e780e.tar.gz linux-stable-1c5e1cdd7c1f34e6d7f22f9b819a307e435e780e.tar.bz2 linux-stable-1c5e1cdd7c1f34e6d7f22f9b819a307e435e780e.zip |
ACPI/PCI: pci_link: use extended_irq union member when setting ext-irq shareable
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>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Diffstat (limited to 'drivers/acpi')
-rw-r--r-- | drivers/acpi/pci_link.c | 4 |
1 files 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 */ |