Merge remote-tracking branch 'irqchip/irqchip/for-next'
[deliverable/linux.git] / drivers / irqchip / irq-mips-gic.c
index 83f498393a7f0b5d82264cfd3cd340f0cf6c3c1f..a2c22a12d343f97417cc4d368913d21d992e5a99 100644 (file)
@@ -371,18 +371,13 @@ static void gic_handle_shared_int(bool chained)
        bitmap_and(pending, pending, intrmask, gic_shared_intrs);
        bitmap_and(pending, pending, pcpu_mask, gic_shared_intrs);
 
-       intr = find_first_bit(pending, gic_shared_intrs);
-       while (intr != gic_shared_intrs) {
+       for_each_set_bit(intr, pending, gic_shared_intrs) {
                virq = irq_linear_revmap(gic_irq_domain,
                                         GIC_SHARED_TO_HWIRQ(intr));
                if (chained)
                        generic_handle_irq(virq);
                else
                        do_IRQ(virq);
-
-               /* go to next pending bit */
-               bitmap_clear(pending, intr, 1);
-               intr = find_first_bit(pending, gic_shared_intrs);
        }
 }
 
This page took 0.039075 seconds and 5 git commands to generate.