From a7e915975ff995c1fc0a9c2a19a7fe50b28a38b8 Mon Sep 17 00:00:00 2001 From: =?utf8?q?=C3=81lvaro=20Fern=C3=A1ndez=20Rojas?= Date: Mon, 18 May 2020 09:23:50 +0200 Subject: [PATCH] bcm63xx: mask interrupts on init MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Fixes BCM6348/BCM6358 hangs while booting: https://bugs.openwrt.org/index.php?do=details&task_id=2202 Signed-off-by: Álvaro Fernández Rojas (cherry picked from commit 13c33f3f121ca6fe2ab1f80e04cf2d4f2cd6abec) --- .../327-irqchip-bcm6345-periph-clear-on-init.patch | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 target/linux/brcm63xx/patches-4.9/327-irqchip-bcm6345-periph-clear-on-init.patch 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); -- 2.25.1