PCI MSI: Remove attribute check from pci_disable_msi()
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>
diff --git a/drivers/pci/msi.c b/drivers/pci/msi.c
index d986afb..a7b72f6 100644
--- a/drivers/pci/msi.c
+++ b/drivers/pci/msi.c
@@ -640,17 +640,10 @@
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 @@
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);