From: Ralf Baechle Date: Mon, 30 Jan 2006 16:48:26 +0000 (+0000) Subject: [MIPS] local_irq_restore wasn't safe to be used in other macros mode. X-Git-Tag: v2.6.16-rc3~137^2~16 X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2e66fe24d6faa287088ff18051dd423a32b60502;p=linux-2.6 [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 --- diff --git a/include/asm-mips/interrupt.h b/include/asm-mips/interrupt.h index abdf54ee64..0da5818a2d 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) \