Platforms may have dedicated IRQ lines for PCIe services like AER/PME etc., check for such IRQ lines. Check if platform has any dedicated IRQ lines for PCIe services.
Signed-off-by: Bharat Kumar Gogada <bharat.kumar.gog...@xilinx.com> --- drivers/pci/pcie/portdrv_core.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/drivers/pci/pcie/portdrv_core.c b/drivers/pci/pcie/portdrv_core.c index f458ac9..8e37beb 100644 --- a/drivers/pci/pcie/portdrv_core.c +++ b/drivers/pci/pcie/portdrv_core.c @@ -330,6 +330,14 @@ int pcie_port_device_register(struct pci_dev *dev) goto error_disable; } + /* + * Some platforms have dedicated interrupt line from root complex to + * interrupt controller for PCIe services like AER/PME etc., check + * if platform registered with any such IRQ. + */ + if (pci_pcie_type(dev) == PCI_EXP_TYPE_ROOT_PORT) + pci_check_platform_service_irqs(dev, irqs, capabilities); + /* Allocate child services if any */ status = -ENODEV; nr_service = 0; -- 2.7.4