aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorRalf Baechle <ralf@linux-mips.org>2005-07-13 14:20:33 -0400
committerRalf Baechle <ralf@linux-mips.org>2005-10-29 14:31:48 -0400
commit569f75bd02d20043c4baf9fc38d937f37e7572b0 (patch)
treed04f221d275ad6e7d8b7e2fda73f032015eb8242 /arch
parent97fb5de194a244df3a257bbddaaad911641af381 (diff)
Use an irq_enable_hazard hazard barrier in unmask_mips_irq. This
hasn't been an actual bug, so it's more a change to be 100% compliant with the requirements of the architecture spec. Similar fix to mask_mips_irq where there was a slightly less theoretical chance of getting hit. Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'arch')
-rw-r--r--arch/mips/kernel/irq_cpu.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/mips/kernel/irq_cpu.c b/arch/mips/kernel/irq_cpu.c
index 905ff843a68f..060722e42c53 100644
--- a/arch/mips/kernel/irq_cpu.c
+++ b/arch/mips/kernel/irq_cpu.c
@@ -40,11 +40,13 @@ static int mips_cpu_irq_base;
40static inline void unmask_mips_irq(unsigned int irq) 40static inline void unmask_mips_irq(unsigned int irq)
41{ 41{
42 set_c0_status(0x100 << (irq - mips_cpu_irq_base)); 42 set_c0_status(0x100 << (irq - mips_cpu_irq_base));
43 irq_enable_hazard();
43} 44}
44 45
45static inline void mask_mips_irq(unsigned int irq) 46static inline void mask_mips_irq(unsigned int irq)
46{ 47{
47 clear_c0_status(0x100 << (irq - mips_cpu_irq_base)); 48 clear_c0_status(0x100 << (irq - mips_cpu_irq_base));
49 irq_disable_hazard();
48} 50}
49 51
50static inline void mips_cpu_irq_enable(unsigned int irq) 52static inline void mips_cpu_irq_enable(unsigned int irq)