summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorÁlvaro Fernández Rojas <noltari@gmail.com>2020-05-18 09:23:50 +0200
committerÁlvaro Fernández Rojas <noltari@gmail.com>2020-05-18 11:06:05 +0200
commita7e915975ff995c1fc0a9c2a19a7fe50b28a38b8 (patch)
tree1a59a5a84ab7c4d6accdd92de56651ea464a8071
parent8e2201ea5000467509c980ab1daf353e0ff98493 (diff)
downloadopenwrt-a7e915975ff995c1fc0a9c2a19a7fe50b28a38b8.tar.gz
openwrt-a7e915975ff995c1fc0a9c2a19a7fe50b28a38b8.tar.bz2
openwrt-a7e915975ff995c1fc0a9c2a19a7fe50b28a38b8.zip
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)
-rw-r--r--target/linux/brcm63xx/patches-4.9/327-irqchip-bcm6345-periph-clear-on-init.patch12
1 files changed, 12 insertions, 0 deletions
diff --git a/target/linux/brcm63xx/patches-4.9/327-irqchip-bcm6345-periph-clear-on-init.patch b/target/linux/brcm63xx/patches-4.9/327-irqchip-bcm6345-periph-clear-on-init.patch
new file mode 100644
index 0000000000..1aca4a0799
--- /dev/null
+++ b/target/linux/brcm63xx/patches-4.9/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
+@@ -236,6 +236,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);