irqchip/mips-gic: Get rid of the reliance on irq_cpu_online()
stable inclusion from stable-v5.10.192 commit 0704666c570d13061bb97e1fa483561501260618 category: bugfix bugzilla: https://gitee.com/openeuler/kernel/issues/I933RF Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=0704666c570d13061bb97e1fa483561501260618 -------------------------------- [ Upstream commit dd098a0e ] 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 Stable-dep-of: 3d6a0e41 ("irqchip/mips-gic: Use raw spinlock for gic_lock") Signed-off-by:
Sasha Levin <sashal@kernel.org> Signed-off-by:
sanglipeng <sanglipeng1@jd.com>
Loading
Please sign in to comment