summaryrefslogtreecommitdiff
path: root/kernel/locking
diff options
context:
space:
mode:
authorJonas Gorski <jonas.gorski@gmail.com>2023-06-29 09:26:20 +0200
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2023-08-03 10:24:14 +0200
commita80d2cb27d39f039f3e9cfd952ec675792ab01c8 (patch)
treec1e7442222970723fbc8baf628cb7077e85a2431 /kernel/locking
parent2edb87931afd1002c1d38aeea8bd113d7db02075 (diff)
irq-bcm6345-l1: Do not assume a fixed block to cpu mapping
[ Upstream commit 55ad24857341c36616ecc1d9580af5626c226cf1 ] The irq to block mapping is fixed, and interrupts from the first block will always be routed to the first parent IRQ. But the parent interrupts themselves can be routed to any available CPU. This is used by the bootloader to map the first parent interrupt to the boot CPU, regardless wether the boot CPU is the first one or the second one. When booting from the second CPU, the assumption that the first block's IRQ is mapped to the first CPU breaks, and the system hangs because interrupts do not get routed correctly. Fix this by passing the appropriate bcm6434_l1_cpu to the interrupt handler instead of the chip itself, so the handler always has the right block. Fixes: c7c42ec2baa1 ("irqchips/bmips: Add bcm6345-l1 interrupt controller") Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com> Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> Reviewed-by: Florian Fainelli <florian.fainelli@broadcom.com> Signed-off-by: Marc Zyngier <maz@kernel.org> Link: https://lore.kernel.org/r/20230629072620.62527-1-jonas.gorski@gmail.com Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'kernel/locking')
0 files changed, 0 insertions, 0 deletions