|
@@ -666,12 +666,13 @@ static void armada_37xx_irq_handler(struct irq_desc *desc)
|
|
writel(1 << hwirq,
|
|
writel(1 << hwirq,
|
|
info->base +
|
|
info->base +
|
|
IRQ_STATUS + 4 * i);
|
|
IRQ_STATUS + 4 * i);
|
|
- continue;
|
|
|
|
|
|
+ goto update_status;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
generic_handle_irq(virq);
|
|
generic_handle_irq(virq);
|
|
|
|
|
|
|
|
+update_status:
|
|
/* Update status in case a new IRQ appears */
|
|
/* Update status in case a new IRQ appears */
|
|
spin_lock_irqsave(&info->irq_lock, flags);
|
|
spin_lock_irqsave(&info->irq_lock, flags);
|
|
status = readl_relaxed(info->base +
|
|
status = readl_relaxed(info->base +
|