|
@@ -348,7 +348,10 @@ void handle_nested_irq(unsigned int irq)
|
|
|
irqd_set(&desc->irq_data, IRQD_IRQ_INPROGRESS);
|
|
irqd_set(&desc->irq_data, IRQD_IRQ_INPROGRESS);
|
|
|
raw_spin_unlock_irq(&desc->lock);
|
|
raw_spin_unlock_irq(&desc->lock);
|
|
|
|
|
|
|
|
- action_ret = action->thread_fn(action->irq, action->dev_id);
|
|
|
|
|
|
|
+ action_ret = IRQ_NONE;
|
|
|
|
|
+ for_each_action_of_desc(desc, action)
|
|
|
|
|
+ action_ret |= action->thread_fn(action->irq, action->dev_id);
|
|
|
|
|
+
|
|
|
if (!noirqdebug)
|
|
if (!noirqdebug)
|
|
|
note_interrupt(desc, action_ret);
|
|
note_interrupt(desc, action_ret);
|
|
|
|
|
|