MSI: Consolidate BUG_ON()s.

When freeing MSIs and MSI-Xs, we BUG_ON() if the irq has not been
freed, ie. if it still has an action. We can consolidate all of these
BUG_ON()s into msi_free_irqs() as all the code paths lead there almost
immediately anyway.

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>

diff --git a/drivers/pci/msi.c b/drivers/pci/msi.c
index 4f326f3..38e4c80 100644
--- a/drivers/pci/msi.c
+++ b/drivers/pci/msi.c
@@ -573,8 +573,6 @@
 		return;
 	}
 
-	BUG_ON(irq_has_action(dev->first_msi_irq));
-
 	default_irq = entry->msi_attrib.default_irq;
 	msi_free_irq(dev, dev->first_msi_irq);
 
@@ -590,6 +588,8 @@
 	int head, entry_nr, type;
 	void __iomem *base;
 
+	BUG_ON(irq_has_action(irq));
+
 	entry = get_irq_msi(irq);
 	if (!entry || entry->dev != dev) {
 		return -EINVAL;
@@ -682,8 +682,6 @@
 	while (head != tail) {
 		tail = get_irq_msi(irq)->link.tail;
 
-		BUG_ON(irq_has_action(irq));
-
 		if (irq != head)
 			msi_free_irq(dev, irq);
 		irq = tail;
@@ -723,10 +721,8 @@
 	if (!pci_msi_enable || !dev)
  		return;
 
-	if (dev->msi_enabled) {
-		BUG_ON(irq_has_action(dev->first_msi_irq));
+	if (dev->msi_enabled)
 		msi_free_irq(dev, dev->first_msi_irq);
-	}
 
 	if (dev->msix_enabled)
 		msix_free_all_irqs(dev);