diff options
author | Ralf Baechle <ralf@linux-mips.org> | 2005-07-13 14:20:33 -0400 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2005-10-29 14:31:48 -0400 |
commit | 569f75bd02d20043c4baf9fc38d937f37e7572b0 (patch) | |
tree | d04f221d275ad6e7d8b7e2fda73f032015eb8242 /arch | |
parent | 97fb5de194a244df3a257bbddaaad911641af381 (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.c | 2 |
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; | |||
40 | static inline void unmask_mips_irq(unsigned int irq) | 40 | static 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 | ||
45 | static inline void mask_mips_irq(unsigned int irq) | 46 | static 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 | ||
50 | static inline void mips_cpu_irq_enable(unsigned int irq) | 52 | static inline void mips_cpu_irq_enable(unsigned int irq) |