|
@@ -180,8 +180,9 @@ static int __init orion_bridge_irq_init(struct device_node *np,
|
|
|
gc->chip_types[0].chip.irq_mask = irq_gc_mask_clr_bit;
|
|
|
gc->chip_types[0].chip.irq_unmask = irq_gc_mask_set_bit;
|
|
|
|
|
|
- /* mask all interrupts */
|
|
|
+ /* mask and clear all interrupts */
|
|
|
writel(0, gc->reg_base + ORION_BRIDGE_IRQ_MASK);
|
|
|
+ writel(0, gc->reg_base + ORION_BRIDGE_IRQ_CAUSE);
|
|
|
|
|
|
irq_set_handler_data(irq, domain);
|
|
|
irq_set_chained_handler(irq, orion_bridge_irq_handler);
|