Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=00ba16ab2658afe11d4fdcaf16a331292c44bee6
Commit:     00ba16ab2658afe11d4fdcaf16a331292c44bee6
Parent:     c31af3987020eeb1facf64d702dcf39e6c7382e6
Author:     Michael Ellerman <[EMAIL PROTECTED]>
AuthorDate: Thu Mar 22 21:51:31 2007 +1100
Committer:  Greg Kroah-Hartman <[EMAIL PROTECTED]>
CommitDate: Wed May 2 19:02:36 2007 -0700

    MSI: Simplify BUG() handling in msi_remove_pci_irq_vectors() part 2
    
    Although it might be nice to do a printk before BUG'ing, it's really not
    necessary, and it complicates the code.
    
    The behaviour has changed slightly, in that before we set a flag if the irq
    had an action, and continued freeing the other irqs. But as I see it that's
    all irrelevant because we end up BUG'ing anyway.
    
    Signed-off-by: Michael Ellerman <[EMAIL PROTECTED]>
    Acked-by: Eric W. Biederman <[EMAIL PROTECTED]>
    Signed-off-by: Greg Kroah-Hartman <[EMAIL PROTECTED]>
---
 drivers/pci/msi.c |   16 +++++-----------
 1 files changed, 5 insertions(+), 11 deletions(-)

diff --git a/drivers/pci/msi.c b/drivers/pci/msi.c
index 2a119f8..91fed54 100644
--- a/drivers/pci/msi.c
+++ b/drivers/pci/msi.c
@@ -723,27 +723,21 @@ void msi_remove_pci_irq_vectors(struct pci_dev* dev)
                msi_free_irq(dev, dev->first_msi_irq);
        }
        if (dev->msix_enabled) {
-               int irq, head, tail = 0, warning = 0;
+               int irq, head, tail = 0;
                void __iomem *base = NULL;
 
                irq = head = dev->first_msi_irq;
                while (head != tail) {
                        tail = get_irq_msi(irq)->link.tail;
                        base = get_irq_msi(irq)->mask_base;
-                       if (irq_has_action(irq))
-                               warning = 1;
-                       else if (irq != head) /* Release MSI-X irq */
+
+                       BUG_ON(irq_has_action(irq));
+
+                       if (irq != head) /* Release MSI-X irq */
                                msi_free_irq(dev, irq);
                        irq = tail;
                }
                msi_free_irq(dev, irq);
-               if (warning) {
-                       iounmap(base);
-                       printk(KERN_WARNING "PCI: %s: 
msi_remove_pci_irq_vectors() "
-                              "called without free_irq() on all MSI-X irqs\n",
-                              pci_name(dev));
-                       BUG_ON(warning > 0);
-               }
        }
 }
 
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to