PCI MSI: Remove attribute check from pci_disable_msi()
authorHidetoshi Seto <seto.hidetoshi@jp.fujitsu.com>
Thu, 6 Aug 2009 02:31:27 +0000 (11:31 +0900)
committerJesse Barnes <jbarnes@virtuousgeek.org>
Wed, 9 Sep 2009 20:29:29 +0000 (13:29 -0700)
The msi_list never have MSI-X's msi_desc while MSI is enabled,
and also it never have MSI's msi_desc while MSI-X is enabled.

This patch remove check for MSI-X entry from the pci_disable_msi(),
referring that pci_disable_msix() does not have any check for MSI
entry.

Reviewed-by: Matthew Wilcox <willy@linux.intel.com>
Signed-off-by: Hidetoshi Seto <seto.hidetoshi@jp.fujitsu.com>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
drivers/pci/msi.c

index d986afb..a7b72f6 100644 (file)
@@ -640,17 +640,10 @@ void pci_msi_shutdown(struct pci_dev *dev)
 
 void pci_disable_msi(struct pci_dev* dev)
 {
-       struct msi_desc *entry;
-
        if (!pci_msi_enable || !dev || !dev->msi_enabled)
                return;
 
        pci_msi_shutdown(dev);
-
-       entry = list_entry(dev->msi_list.next, struct msi_desc, list);
-       if (entry->msi_attrib.is_msix)
-               return;
-
        msi_free_irqs(dev);
 }
 EXPORT_SYMBOL(pci_disable_msi);
@@ -774,13 +767,13 @@ void pci_msix_shutdown(struct pci_dev* dev)
        pci_intx_for_msi(dev, 1);
        dev->msix_enabled = 0;
 }
+
 void pci_disable_msix(struct pci_dev* dev)
 {
        if (!pci_msi_enable || !dev || !dev->msix_enabled)
                return;
 
        pci_msix_shutdown(dev);
-
        msix_free_all_irqs(dev);
 }
 EXPORT_SYMBOL(pci_disable_msix);