]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - arch/x86/pci/common.c
Merge remote-tracking branch 'pci/next'
[karo-tx-linux.git] / arch / x86 / pci / common.c
index dc78a4a9a46663f10600afd013d9230fe5fe222b..eccd4d99e6a4a7182bf74469f5ecd580e8f22417 100644 (file)
@@ -675,6 +675,14 @@ int pcibios_add_device(struct pci_dev *dev)
 
 int pcibios_alloc_irq(struct pci_dev *dev)
 {
+       /*
+        * If the PCI device was already claimed by core code and has
+        * MSI enabled, probing of the pcibios IRQ will overwrite
+        * dev->irq.  So bail out if MSI is already enabled.
+        */
+       if (pci_dev_msi_enabled(dev))
+               return -EBUSY;
+
        return pcibios_enable_irq(dev);
 }