]> git.baikalelectronics.ru Git - kernel.git/commit
irqchip/mips-gic: Don't touch vl_map if a local interrupt is not routable
authorJiaxun Yang <jiaxun.yang@flygoat.com>
Mon, 24 Apr 2023 10:31:55 +0000 (11:31 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 30 May 2023 13:03:20 +0000 (14:03 +0100)
commita6edcc1b276880d5edc5a00da859e7881ee3112b
treeb10ee6f43fc2a289900e6ae9884b599a314641ae
parent14fd5290233184f7729b48acbb6543a7a648336a
irqchip/mips-gic: Don't touch vl_map if a local interrupt is not routable

commit 2c6c9c049510163090b979ea5f92a68ae8d93c45 upstream.

When a GIC local interrupt is not routable, it's vl_map will be used
to control some internal states for core (providing IPTI, IPPCI, IPFDC
input signal for core). Overriding it will interfere core's intetrupt
controller.

Do not touch vl_map if a local interrupt is not routable, we are not
going to remap it.

Before e7f42ea11176 (" irqchip/mips-gic: Get rid of the reliance on
irq_cpu_online()"), if a local interrupt is not routable, then it won't
be requested from GIC Local domain, and thus gic_all_vpes_irq_cpu_online
won't be called for that particular interrupt.

Fixes: e7f42ea11176 (" irqchip/mips-gic: Get rid of the reliance on irq_cpu_online()")
Cc: stable@vger.kernel.org
Signed-off-by: Jiaxun Yang <jiaxun.yang@flygoat.com>
Reviewed-by: Serge Semin <fancer.lancer@gmail.com>
Tested-by: Serge Semin <fancer.lancer@gmail.com>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20230424103156.66753-2-jiaxun.yang@flygoat.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/irqchip/irq-mips-gic.c