diff options
author | Michael Ellerman <michael@ellerman.id.au> | 2007-03-22 21:51:27 +1100 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2007-05-02 19:02:35 -0700 |
commit | e387b9eefe89a23245f2446f947529cce5d6db35 (patch) | |
tree | cfa287874b4295f41b2d72aff2f0c227794723ef /drivers/pci | |
parent | 54eee4c5bf553ad54ba200d00487b61eb6b155f6 (diff) | |
download | kernel-crypto-e387b9eefe89a23245f2446f947529cce5d6db35.tar.gz kernel-crypto-e387b9eefe89a23245f2446f947529cce5d6db35.tar.xz kernel-crypto-e387b9eefe89a23245f2446f947529cce5d6db35.zip |
MSI: Simplify BUG() handling in pci_disable_msi()
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>
Diffstat (limited to 'drivers/pci')
-rw-r--r-- | drivers/pci/msi.c | 21 |
1 files changed, 9 insertions, 12 deletions
diff --git a/drivers/pci/msi.c b/drivers/pci/msi.c index a4ef93ea4c5..9213c57cd96 100644 --- a/drivers/pci/msi.c +++ b/drivers/pci/msi.c @@ -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; } |