From e58cd697e8256d69dfcf97653f75620377c94d7d Mon Sep 17 00:00:00 2001 From: Michael Ellerman Date: Thu, 22 Mar 2007 21:51:34 +1100 Subject: [PATCH] --- yaml --- r: 53342 b: refs/heads/master c: 7ede9c1fa50e01a8222217d4606bcbc44cd68f1a h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/pci/msi.c | 10 +++------- 2 files changed, 4 insertions(+), 8 deletions(-) diff --git a/[refs] b/[refs] index 70abb8726f0a..d227b4547b1f 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: fc4afc7b2bdd81e2dbded5a8222676d3161758d3 +refs/heads/master: 7ede9c1fa50e01a8222217d4606bcbc44cd68f1a diff --git a/trunk/drivers/pci/msi.c b/trunk/drivers/pci/msi.c index 4f326f38f9bf..38e4c807f80f 100644 --- a/trunk/drivers/pci/msi.c +++ b/trunk/drivers/pci/msi.c @@ -573,8 +573,6 @@ void pci_disable_msi(struct pci_dev* dev) 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 @@ static int msi_free_irq(struct pci_dev* dev, int irq) 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 @@ static void msix_free_all_irqs(struct pci_dev *dev) 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 @@ void msi_remove_pci_irq_vectors(struct pci_dev* dev) 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);