aboutsummaryrefslogtreecommitdiffstats
path: root/include/asm-mips/interrupt.h
diff options
context:
space:
mode:
authorRalf Baechle <ralf@linux-mips.org>2006-01-30 11:48:26 -0500
committerRalf Baechle <ralf@linux-mips.org>2006-02-07 08:30:24 -0500
commit2e66fe24d6faa287088ff18051dd423a32b60502 (patch)
treefb2fcfd609b44f0ae415e0961843e1de6eccaaee /include/asm-mips/interrupt.h
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>
Diffstat (limited to 'include/asm-mips/interrupt.h')
-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__( \
114 114
115__asm__ ( 115__asm__ (
116 " .macro local_irq_restore flags \n" 116 " .macro local_irq_restore flags \n"
117 " .set push \n"
117 " .set noreorder \n" 118 " .set noreorder \n"
118 " .set noat \n" 119 " .set noat \n"
119#if defined(CONFIG_CPU_MIPSR2) && defined(CONFIG_IRQ_CPU) 120#if defined(CONFIG_CPU_MIPSR2) && defined(CONFIG_IRQ_CPU)
@@ -141,8 +142,7 @@ __asm__ (
141 " mtc0 \\flags, $12 \n" 142 " mtc0 \\flags, $12 \n"
142#endif 143#endif
143 " irq_disable_hazard \n" 144 " irq_disable_hazard \n"
144 " .set at \n" 145 " .set pop \n"
145 " .set reorder \n"
146 " .endm \n"); 146 " .endm \n");
147 147
148#define local_irq_restore(flags) \ 148#define local_irq_restore(flags) \