• Rafael J. Wysocki's avatar
    PCI/PCIe portdrv: Fix allocation of interrupts · b43d4513
    Rafael J. Wysocki authored
    If MSI-X interrupt mode is used by the PCI Express port driver, too
    many vectors are allocated and it is not ensured that the right
    vectors will be used for the right services.  Namely, the PCI Express
    specification states that both PCI Express native PME and PCI Express
    hotplug will always use the same MSI or MSI-X message for signalling
    interrupts, which implies that the same vector will be used by both
    of them.  Also, the VC service does not use interrupts at all.
    Moreover, is not clear which of the vectors allocated by
    pci_enable_msix() in the current code will be used for PME and
    hotplug and which of them will be used for AER if all of these
    services are configured.
    
    For these reasons, rework the allocation of interrupts for PCI
    Express ports so that if MSI-X are enabled, the right vectors will be
    used for the right purposes.
    Signed-off-by: default avatarRafael J. Wysocki <rjw@sisk.pl>
    Reviewed-by: default avatarHidetoshi Seto <seto.hidetoshi@jp.fujitsu.com>
    Signed-off-by: default avatarJesse Barnes <jbarnes@virtuousgeek.org>
    b43d4513
portdrv_core.c 16.4 KB