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 0286f17f0fa51e7d5b808b8690a8a76c77d55e81..5114d8007aa004b0e51ff1b8c55f963cd19513f5 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;
 };