summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHuacai Chen <chenhuacai@loongson.cn>2026-04-22 10:45:12 +0300
committerHuacai Chen <chenhuacai@loongson.cn>2026-04-22 10:45:12 +0300
commit02a6a1f9d77a816fbac01de9bfcd0e0914552f2f (patch)
tree1a314dc3f41076026cbf3a7d896d10a38df42a73
parenta28547576b3b3c95f2261cd5374c1e459f36d9dc (diff)
downloadlinux-02a6a1f9d77a816fbac01de9bfcd0e0914552f2f.tar.xz
LoongArch: Make arch_irq_work_has_interrupt() true only if IPI HW exist
After commit 7c405fb3279b3924 ("rcu: Use an intermediate irq_work to start process_srcu()"), Loongson-2K0300/2K0500 fail to boot. Because IRQ_WORK need IPI but Loongson-2K0300/2K0500 don't have IPI HW. So make arch_irq_work_has_interrupt() return true only if IPI HW exist. Cc: stable@vger.kernel.org Reported-by: Binbin Zhou <zhoubinbin@loongson.cn> Signed-off-by: Huacai Chen <chenhuacai@loongson.cn>
-rw-r--r--arch/loongarch/include/asm/irq_work.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/loongarch/include/asm/irq_work.h b/arch/loongarch/include/asm/irq_work.h
index d63076e9160d..63aee0335d1a 100644
--- a/arch/loongarch/include/asm/irq_work.h
+++ b/arch/loongarch/include/asm/irq_work.h
@@ -4,7 +4,7 @@
static inline bool arch_irq_work_has_interrupt(void)
{
- return IS_ENABLED(CONFIG_SMP);
+ return IS_ENABLED(CONFIG_SMP) && cpu_opt(LOONGARCH_CPU_CSRIPI);
}
#endif /* _ASM_LOONGARCH_IRQ_WORK_H */