Commit 2e66fe24 authored by Ralf Baechle's avatar Ralf Baechle

[MIPS] local_irq_restore wasn't safe to be used in other macros mode.

    
It always left the assembler in reorder mode possibly causing disaster.
Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
parent 75bdb426
...@@ -114,6 +114,7 @@ __asm__ __volatile__( \ ...@@ -114,6 +114,7 @@ __asm__ __volatile__( \
__asm__ ( __asm__ (
" .macro local_irq_restore flags \n" " .macro local_irq_restore flags \n"
" .set push \n"
" .set noreorder \n" " .set noreorder \n"
" .set noat \n" " .set noat \n"
#if defined(CONFIG_CPU_MIPSR2) && defined(CONFIG_IRQ_CPU) #if defined(CONFIG_CPU_MIPSR2) && defined(CONFIG_IRQ_CPU)
...@@ -141,8 +142,7 @@ __asm__ ( ...@@ -141,8 +142,7 @@ __asm__ (
" mtc0 \\flags, $12 \n" " mtc0 \\flags, $12 \n"
#endif #endif
" irq_disable_hazard \n" " irq_disable_hazard \n"
" .set at \n" " .set pop \n"
" .set reorder \n"
" .endm \n"); " .endm \n");
#define local_irq_restore(flags) \ #define local_irq_restore(flags) \
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment