bcm63xx: mask interrupts on init

Fixes BCM6348/BCM6358 hangs while booting:
https://bugs.openwrt.org/index.php?do=details&task_id=2202

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
(cherry picked from commit 13c33f3f121ca6fe2ab1f80e04cf2d4f2cd6abec)
master
Álvaro Fernández Rojas 5 years ago
parent d1ce73677c
commit af667c73c5
  1. 12
      target/linux/brcm63xx/patches-4.14/327-irqchip-bcm6345-periph-clear-on-init.patch

@ -0,0 +1,12 @@
--- a/drivers/irqchip/irq-bcm6345-periph.c
+++ b/drivers/irqchip/irq-bcm6345-periph.c
@@ -240,6 +240,9 @@ static int __init __bcm6345_periph_intc_
/* route all interrupts to line 0 by default */
if (i == 0)
block->mask_cache[w] = 0xffffffff;
+
+ /* mask all interrupts */
+ __raw_writel(0, block->en_reg[w]);
}
irq_set_handler_data(block->parent_irq, data);
Loading…
Cancel
Save