]> git.itanic.dy.fi Git - linux-stable/commit
irqchip/mips-gic: Get rid of the reliance on irq_cpu_online()
authorMarc Zyngier <maz@kernel.org>
Thu, 21 Oct 2021 17:04:13 +0000 (18:04 +0100)
committerMarc Zyngier <maz@kernel.org>
Tue, 26 Oct 2021 10:19:38 +0000 (11:19 +0100)
commitdd098a0e031928cf88c89f7577d31821e1f0e6de
tree91d593ebe27df71fa063e8a610610be27e2981ae
parenteb5411334c289c473bc11d5cef8b0bea8d7ce324
irqchip/mips-gic: Get rid of the reliance on irq_cpu_online()

The MIPS GIC driver uses irq_cpu_online() to go and program the
per-CPU interrupts. However, this method iterates over all IRQs
in the system, despite only 3 per-CPU interrupts being of interest.

Let's be terribly bold and do the iteration ourselves. To ensure
mutual exclusion, hold the gic_lock spinlock that is otherwise
taken while dealing with these interrupts.

Signed-off-by: Marc Zyngier <maz@kernel.org>
Reviewed-by: Serge Semin <fancer.lancer@gmail.com>
Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
Tested-by: Serge Semin <fancer.lancer@gmail.com>
Link: https://lore.kernel.org/r/20211021170414.3341522-3-maz@kernel.org
drivers/irqchip/irq-mips-gic.c