MIPS: fix local_irq_{disable,enable} in asmmacro.h
authorHuang Pei <huangpei@loongson.cn>
Tue, 23 Mar 2021 02:34:02 +0000 (10:34 +0800)
committerThomas Bogendoerfer <tsbogend@alpha.franken.de>
Wed, 24 Mar 2021 09:48:55 +0000 (10:48 +0100)
commit ba9196d2e005 ("MIPS: Make DIEI support as a config option")
use CPU_HAS_DIEI to indicate whether di/ei is implemented correctly,
without this patch, "local_irq_disable" from entry.S in 3A1000
(with buggy di/ei) lose protection of commit e97c5b609880 ("MIPS:
Make irqflags.h functions preempt-safe for non-mipsr2 cpus")

Fixes: ba9196d2e005 ("MIPS: Make DIEI support as a config option")
Signed-off-by: Huang Pei <huangpei@loongson.cn>
Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
arch/mips/include/asm/asmmacro.h

index 86f2323..ca83ada 100644 (file)
@@ -44,8 +44,7 @@
        .endm
 #endif
 
-#if defined(CONFIG_CPU_MIPSR2) || defined(CONFIG_CPU_MIPSR5) || \
-    defined(CONFIG_CPU_MIPSR6)
+#ifdef CONFIG_CPU_HAS_DIEI
        .macro  local_irq_enable reg=t0
        ei
        irq_enable_hazard