Merge remote-tracking branches 'asoc/fix/rt5640' and 'asoc/fix/wm8962' into asoc...
[cascardo/linux.git] / kernel / irq / handle.c
index 57bff78..a15b548 100644 (file)
@@ -136,10 +136,9 @@ irqreturn_t handle_irq_event_percpu(struct irq_desc *desc)
 {
        irqreturn_t retval = IRQ_NONE;
        unsigned int flags = 0, irq = desc->irq_data.irq;
-       struct irqaction *action = desc->action;
+       struct irqaction *action;
 
-       /* action might have become NULL since we dropped the lock */
-       while (action) {
+       for_each_action_of_desc(desc, action) {
                irqreturn_t res;
 
                trace_irq_handler_entry(irq, action);
@@ -173,7 +172,6 @@ irqreturn_t handle_irq_event_percpu(struct irq_desc *desc)
                }
 
                retval |= res;
-               action = action->next;
        }
 
        add_interrupt_randomness(irq, flags);