| From 054fa804ae32a0acfea72e3f9df290270b3c30bd Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Tue, 23 Mar 2021 10:34:02 +0800 |
| Subject: MIPS: fix local_irq_{disable,enable} in asmmacro.h |
| |
| From: Huang Pei <huangpei@loongson.cn> |
| |
| [ Upstream commit 05c4e2721d7af0df7bc1378a23712a0fd16947b5 ] |
| |
| 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> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| arch/mips/include/asm/asmmacro.h | 3 +-- |
| 1 file changed, 1 insertion(+), 2 deletions(-) |
| |
| diff --git a/arch/mips/include/asm/asmmacro.h b/arch/mips/include/asm/asmmacro.h |
| index 86f2323ebe6b..ca83ada7015f 100644 |
| --- a/arch/mips/include/asm/asmmacro.h |
| +++ b/arch/mips/include/asm/asmmacro.h |
| @@ -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 |
| -- |
| 2.30.2 |
| |