summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRalf Baechle <ralf@linux-mips.org>2006-01-30 16:48:26 +0000
committerRalf Baechle <ralf@linux-mips.org>2006-02-07 13:30:24 +0000
commit2e66fe24d6faa287088ff18051dd423a32b60502 (patch)
treefb2fcfd609b44f0ae415e0961843e1de6eccaaee
parent75bdb426a16e81adcbc4c3d7f946018cd47830d1 (diff)
[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: Ralf Baechle <ralf@linux-mips.org>
-rw-r--r--include/asm-mips/interrupt.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/include/asm-mips/interrupt.h b/include/asm-mips/interrupt.h
index abdf54ee64cf..0da5818a2d62 100644
--- a/include/asm-mips/interrupt.h
+++ b/include/asm-mips/interrupt.h
@@ -114,6 +114,7 @@ __asm__ __volatile__( \
__asm__ (
" .macro local_irq_restore flags \n"
+ " .set push \n"
" .set noreorder \n"
" .set noat \n"
#if defined(CONFIG_CPU_MIPSR2) && defined(CONFIG_IRQ_CPU)
@@ -141,8 +142,7 @@ __asm__ (
" mtc0 \\flags, $12 \n"
#endif
" irq_disable_hazard \n"
- " .set at \n"
- " .set reorder \n"
+ " .set pop \n"
" .endm \n");
#define local_irq_restore(flags) \