aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/pci/msi.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/pci/msi.c')
-rw-r--r--drivers/pci/msi.c8
1 files changed, 2 insertions, 6 deletions
diff --git a/drivers/pci/msi.c b/drivers/pci/msi.c
index 0df626cf47d8..529113dc3e22 100644
--- a/drivers/pci/msi.c
+++ b/drivers/pci/msi.c
@@ -854,13 +854,10 @@ void pci_disable_msix(struct pci_dev* dev)
854 **/ 854 **/
855void msi_remove_pci_irq_vectors(struct pci_dev* dev) 855void msi_remove_pci_irq_vectors(struct pci_dev* dev)
856{ 856{
857 int pos;
858
859 if (!pci_msi_enable || !dev) 857 if (!pci_msi_enable || !dev)
860 return; 858 return;
861 859
862 pos = pci_find_capability(dev, PCI_CAP_ID_MSI); 860 if (dev->msi_enabled) {
863 if (pos > 0 && dev->msi_enabled) {
864 if (irq_has_action(dev->first_msi_irq)) { 861 if (irq_has_action(dev->first_msi_irq)) {
865 printk(KERN_WARNING "PCI: %s: msi_remove_pci_irq_vectors() " 862 printk(KERN_WARNING "PCI: %s: msi_remove_pci_irq_vectors() "
866 "called without free_irq() on MSI irq %d\n", 863 "called without free_irq() on MSI irq %d\n",
@@ -869,8 +866,7 @@ void msi_remove_pci_irq_vectors(struct pci_dev* dev)
869 } else /* Release MSI irq assigned to this device */ 866 } else /* Release MSI irq assigned to this device */
870 msi_free_irq(dev, dev->first_msi_irq); 867 msi_free_irq(dev, dev->first_msi_irq);
871 } 868 }
872 pos = pci_find_capability(dev, PCI_CAP_ID_MSIX); 869 if (dev->msix_enabled) {
873 if (pos > 0 && dev->msix_enabled) {
874 int irq, head, tail = 0, warning = 0; 870 int irq, head, tail = 0, warning = 0;
875 void __iomem *base = NULL; 871 void __iomem *base = NULL;
876 872