]> err.no Git - linux-2.6/commitdiff
MSI: Simplify BUG() handling in pci_disable_msi()
authorMichael Ellerman <michael@ellerman.id.au>
Thu, 22 Mar 2007 10:51:27 +0000 (21:51 +1100)
committerGreg Kroah-Hartman <gregkh@suse.de>
Thu, 3 May 2007 02:02:35 +0000 (19:02 -0700)
Although it might be nice to do a printk before BUG'ing, it's really not
necessary, and it complicates the code.

Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Acked-by: Eric W. Biederman <ebiederm@xmission.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/pci/msi.c

index a4ef93ea4c547b78bf80b5b12c9c20101bd3a1ec..9213c57cd968a3ce4931762c10570112fb862c4b 100644 (file)
@@ -572,18 +572,15 @@ void pci_disable_msi(struct pci_dev* dev)
        if (!entry || !entry->dev || entry->msi_attrib.type != PCI_CAP_ID_MSI) {
                return;
        }
-       if (irq_has_action(dev->first_msi_irq)) {
-               printk(KERN_WARNING "PCI: %s: pci_disable_msi() called without "
-                      "free_irq() on MSI irq %d\n",
-                      pci_name(dev), dev->first_msi_irq);
-               BUG_ON(irq_has_action(dev->first_msi_irq));
-       } else {
-               default_irq = entry->msi_attrib.default_irq;
-               msi_free_irq(dev, dev->first_msi_irq);
-
-               /* Restore dev->irq to its default pin-assertion irq */
-               dev->irq = default_irq;
-       }
+
+       BUG_ON(irq_has_action(dev->first_msi_irq));
+
+       default_irq = entry->msi_attrib.default_irq;
+       msi_free_irq(dev, dev->first_msi_irq);
+
+       /* Restore dev->irq to its default pin-assertion irq */
+       dev->irq = default_irq;
+
        dev->first_msi_irq = 0;
 }