|
@@ -826,6 +826,14 @@ static void pnv_php_enable_irq(struct pnv_php_slot *php_slot)
|
|
|
struct pci_dev *pdev = php_slot->pdev;
|
|
|
int irq, ret;
|
|
|
|
|
|
+ /*
|
|
|
+ * The MSI/MSIx interrupt might have been occupied by other
|
|
|
+ * drivers. Don't populate the surprise hotplug capability
|
|
|
+ * in that case.
|
|
|
+ */
|
|
|
+ if (pci_dev_msi_enabled(pdev))
|
|
|
+ return;
|
|
|
+
|
|
|
ret = pci_enable_device(pdev);
|
|
|
if (ret) {
|
|
|
dev_warn(&pdev->dev, "Error %d enabling device\n", ret);
|