diff options
Diffstat (limited to 'drivers/pci/msi.c')
-rw-r--r-- | drivers/pci/msi.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/pci/msi.c b/drivers/pci/msi.c index aea8b258b9b8..a77e79c8c82e 100644 --- a/drivers/pci/msi.c +++ b/drivers/pci/msi.c | |||
@@ -765,8 +765,11 @@ void pci_disable_msi(struct pci_dev* dev) | |||
765 | u16 control; | 765 | u16 control; |
766 | unsigned long flags; | 766 | unsigned long flags; |
767 | 767 | ||
768 | if (!pci_msi_enable) | ||
769 | return; | ||
768 | if (!dev) | 770 | if (!dev) |
769 | return; | 771 | return; |
772 | |||
770 | pos = pci_find_capability(dev, PCI_CAP_ID_MSI); | 773 | pos = pci_find_capability(dev, PCI_CAP_ID_MSI); |
771 | if (!pos) | 774 | if (!pos) |
772 | return; | 775 | return; |
@@ -1026,6 +1029,8 @@ void pci_disable_msix(struct pci_dev* dev) | |||
1026 | int pos, temp; | 1029 | int pos, temp; |
1027 | u16 control; | 1030 | u16 control; |
1028 | 1031 | ||
1032 | if (!pci_msi_enable) | ||
1033 | return; | ||
1029 | if (!dev) | 1034 | if (!dev) |
1030 | return; | 1035 | return; |
1031 | 1036 | ||
@@ -1152,6 +1157,11 @@ void msi_remove_pci_irq_vectors(struct pci_dev* dev) | |||
1152 | } | 1157 | } |
1153 | } | 1158 | } |
1154 | 1159 | ||
1160 | void pci_no_msi(void) | ||
1161 | { | ||
1162 | pci_msi_enable = 0; | ||
1163 | } | ||
1164 | |||
1155 | EXPORT_SYMBOL(pci_enable_msi); | 1165 | EXPORT_SYMBOL(pci_enable_msi); |
1156 | EXPORT_SYMBOL(pci_disable_msi); | 1166 | EXPORT_SYMBOL(pci_disable_msi); |
1157 | EXPORT_SYMBOL(pci_enable_msix); | 1167 | EXPORT_SYMBOL(pci_enable_msix); |