From: Rafael J. Wysocki <rjw@xxxxxxx> pcibios_enable_device() and pcibios_disable_device() don't handle IRQs for devices that have MSI enabled and it should tread the devices with MSI-X enabled in the same way. Signed-off-by: Rafael J. Wysocki <rjw@xxxxxxx> --- arch/x86/pci/common.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) Index: linux-2.6/arch/x86/pci/common.c =================================================================== --- linux-2.6.orig/arch/x86/pci/common.c +++ linux-2.6/arch/x86/pci/common.c @@ -551,14 +551,14 @@ int pcibios_enable_device(struct pci_dev if ((err = pci_enable_resources(dev, mask)) < 0) return err; - if (!dev->msi_enabled) + if (!dev->msi_enabled && !dev->msix_enabled) return pcibios_enable_irq(dev); return 0; } void pcibios_disable_device (struct pci_dev *dev) { - if (!dev->msi_enabled && pcibios_disable_irq) + if (!dev->msi_enabled && !dev->msix_enabled && pcibios_disable_irq) pcibios_disable_irq(dev); } -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html