From: Michael Ellerman Date: Thu, 22 Mar 2007 10:51:27 +0000 (+1100) Subject: MSI: Simplify BUG() handling in pci_disable_msix() X-Git-Tag: v2.6.22-rc1~1039^2~44 X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=54bc6c0b0edd164fc2ea85b3964736c182f6bd5d;p=linux-2.6 MSI: Simplify BUG() handling in pci_disable_msix() Although it might be nice to do a printk before BUG'ing, it's really not necessary, and it complicates the code. The behaviour has changed slightly, in that before we set a flag if the irq had an action, and continued freeing the other irqs. But as I see it that's all irrelevant because we end up BUG'ing anyway. Signed-off-by: Michael Ellerman Acked-by: Eric W. Biederman Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/pci/msi.c b/drivers/pci/msi.c index 9213c57cd9..db452319be 100644 --- a/drivers/pci/msi.c +++ b/drivers/pci/msi.c @@ -676,7 +676,7 @@ int pci_enable_msix(struct pci_dev* dev, struct msix_entry *entries, int nvec) void pci_disable_msix(struct pci_dev* dev) { - int irq, head, tail = 0, warning = 0; + int irq, head, tail = 0; if (!pci_msi_enable) return; @@ -693,19 +693,14 @@ void pci_disable_msix(struct pci_dev* dev) irq = head = dev->first_msi_irq; while (head != tail) { tail = get_irq_msi(irq)->link.tail; - if (irq_has_action(irq)) - warning = 1; - else if (irq != head) /* Release MSI-X irq */ + + BUG_ON(irq_has_action(irq)); + + if (irq != head) /* Release MSI-X irq */ msi_free_irq(dev, irq); irq = tail; } msi_free_irq(dev, irq); - if (warning) { - printk(KERN_WARNING "PCI: %s: pci_disable_msix() called without " - "free_irq() on all MSI-X irqs\n", - pci_name(dev)); - BUG_ON(warning > 0); - } dev->first_msi_irq = 0; }