diff options
| author | Benoît Monin <benoit.monin@bootlin.com> | 2026-09-29 14:14:10 +0200 |
|---|---|---|
| committer | Thomas Gleixner <tglx@kernel.org> | 2026-10-15 12:02:17 +0200 |
| commit | a5f0dc656e89d0eb140547823a36212902cdf673 (patch) | |
| tree | 8f3dfde856d3b76ce89af5222a4237b939cc9ced /scripts/Makefile.thinlto | |
| parent | 1bae25dcc6beb8b874f23601d2efa142ac4f9f36 (diff) | |
| download | linux-a5f0dc656e89d0eb140547823a36212902cdf673.tar.gz linux-a5f0dc656e89d0eb140547823a36212902cdf673.zip | |
irqchip/mips-gic: Transfer interrupt mask state across clusters
When an interrupt's affinity is moved to a CPU in another cluster,
gic_set_affinity() updates the routing (GIC_SH_MAP_VP) and trigger type
in the destination cluster, but never touched the interrupt's mask state.
The interrupt mask is per-cluster. After such a move the interrupt may
be left disabled in the destination cluster, so it never fires despite
being correctly routed to its new VP.
Move the mask state along with the interrupt: disable it in the old
cluster while clearing the route so it is no longer delivered, then
configure the trigger type in the new cluster and re-enable it there
if it was enabled in the old cluster.
Fixes: 322a90638768 ("irqchip/mips-gic: Multi-cluster support")
Signed-off-by: Benoît Monin <benoit.monin@bootlin.com>
Signed-off-by: Thomas Gleixner <tglx@kernel.org>
Reviewed-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Link: https://patch.msgid.link/20260929-sync-gic-counters-v4-3-ec70c4b60434@bootlin.com
Diffstat (limited to 'scripts/Makefile.thinlto')
0 files changed, 0 insertions, 0 deletions
