MIPS: R2: Fix local_irq_save()
local_irq_restore uses di which saves the whole status content, not just the IE bit resulting in local_irq_restore() to fail. This only happens if both CONFIG_CPU_MIPSR2 and CONFIG_IRQ_CPU are enabled. Signed-off-by: Maxime Bizon <mbizon@freebox.fr> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
This commit is contained in:
@@ -93,6 +93,7 @@ __asm__ (
|
|||||||
" .set noat \n"
|
" .set noat \n"
|
||||||
#ifdef CONFIG_CPU_MIPSR2
|
#ifdef CONFIG_CPU_MIPSR2
|
||||||
" di \\result \n"
|
" di \\result \n"
|
||||||
|
" andi \\result, 1 \n"
|
||||||
#else
|
#else
|
||||||
" mfc0 \\result, $12 \n"
|
" mfc0 \\result, $12 \n"
|
||||||
" ori $1, \\result, 1 \n"
|
" ori $1, \\result, 1 \n"
|
||||||
|
Reference in New Issue
Block a user