Merge tag 'irqchip-core-4.9' of git://git.infradead.org/users/jcooper/linux into...
[cascardo/linux.git] / drivers / irqchip / irq-mips-gic.c
index 8f7d38b..c0178a1 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);
        }
 }