diff options
author | Michael Ellerman <michael@ellerman.id.au> | 2007-03-22 06:51:27 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2007-05-02 22:02:35 -0400 |
commit | e387b9eefe89a23245f2446f947529cce5d6db35 (patch) | |
tree | cfa287874b4295f41b2d72aff2f0c227794723ef /drivers/pci/msi.c | |
parent | 54eee4c5bf553ad54ba200d00487b61eb6b155f6 (diff) |
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/msi.c')
-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 a4ef93ea4c54..9213c57cd968 100644 --- a/drivers/pci/msi.c +++ b/drivers/pci/msi.c | |||
@@ -572,18 +572,15 @@ void pci_disable_msi(struct pci_dev* dev) | |||
572 | if (!entry || !entry->dev || entry->msi_attrib.type != PCI_CAP_ID_MSI) { | 572 | if (!entry || !entry->dev || entry->msi_attrib.type != PCI_CAP_ID_MSI) { |
573 | return; | 573 | return; |
574 | } | 574 | } |
575 | if (irq_has_action(dev->first_msi_irq)) { | 575 | |
576 | printk(KERN_WARNING "PCI: %s: pci_disable_msi() called without " | 576 | BUG_ON(irq_has_action(dev->first_msi_irq)); |
577 | "free_irq() on MSI irq %d\n", | 577 | |
578 | pci_name(dev), dev->first_msi_irq); | 578 | default_irq = entry->msi_attrib.default_irq; |
579 | BUG_ON(irq_has_action(dev->first_msi_irq)); | 579 | msi_free_irq(dev, dev->first_msi_irq); |
580 | } else { | 580 | |
581 | default_irq = entry->msi_attrib.default_irq; | 581 | /* Restore dev->irq to its default pin-assertion irq */ |
582 | msi_free_irq(dev, dev->first_msi_irq); | 582 | dev->irq = default_irq; |
583 | 583 | ||
584 | /* Restore dev->irq to its default pin-assertion irq */ | ||
585 | dev->irq = default_irq; | ||
586 | } | ||
587 | dev->first_msi_irq = 0; | 584 | dev->first_msi_irq = 0; |
588 | } | 585 | } |
589 | 586 | ||