ACPI, PCI, irq: remove interrupt number restriction
authorSinan Kaya <okaya@codeaurora.org>
Wed, 9 Dec 2015 16:18:28 +0000 (11:18 -0500)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Fri, 1 Jan 2016 02:02:47 +0000 (03:02 +0100)
The ACPI compiler uses the extended format when used interrupt numbers
are greater than 15. The extended IRQ syntax is 32 bits according to the
ACPI spec. The code supports parsing the extended interrupt numbers.
However, due to used data structure type; the code silently truncates
interrupt numbers greater than 256.

Acked-by: Bjorn Helgaas <bhelgaas@google.com>
Signed-off-by: Sinan Kaya <okaya@codeaurora.org>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/acpi/pci_link.c

index 0286f17..5114d80 100644 (file)
@@ -68,12 +68,12 @@ static struct acpi_scan_handler pci_link_handler = {
  * later even the link is disable. Instead, we just repick the active irq
  */
 struct acpi_pci_link_irq {
-       u8 active;              /* Current IRQ */
+       u32 active;             /* Current IRQ */
        u8 triggering;          /* All IRQs */
        u8 polarity;            /* All IRQs */
        u8 resource_type;
        u8 possible_count;
-       u8 possible[ACPI_PCI_LINK_MAX_POSSIBLE];
+       u32 possible[ACPI_PCI_LINK_MAX_POSSIBLE];
        u8 initialized:1;
        u8 reserved:7;
 };