summaryrefslogtreecommitdiffstats
path: root/include/asm-mips/io.h
diff options
context:
space:
mode:
authorThiemo Seufer <ths@networkno.de>2005-02-21 11:44:31 +0000
committerRalf Baechle <ralf@linux-mips.org>2005-10-29 19:30:41 +0100
commit049b13c358f0187cf3c5003d5fb9848dbcb28bc3 (patch)
treef37a46c080ae49ca932ca23ba33f44a80aca688a /include/asm-mips/io.h
parent9f83d839dfd2dbe421224c29f02cef77f5b4b875 (diff)
Enable/disable irq's only if needed.
Signed-off-by: Thiemo Seufer <ths@networkno.de> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'include/asm-mips/io.h')
-rw-r--r--include/asm-mips/io.h6
1 files changed, 4 insertions, 2 deletions
diff --git a/include/asm-mips/io.h b/include/asm-mips/io.h
index 039845f2e6b..1f2fe11f412 100644
--- a/include/asm-mips/io.h
+++ b/include/asm-mips/io.h
@@ -319,7 +319,8 @@ static inline type pfx##read##bwlq(volatile void __iomem *mem) \
else if (cpu_has_64bits) { \
unsigned long __flags; \
\
- local_irq_save(__flags); \
+ if (irq) \
+ local_irq_save(__flags); \
__asm__ __volatile__( \
".set mips3" "\t\t# __readq" "\n\t" \
"ld %L0, %1" "\n\t" \
@@ -328,7 +329,8 @@ static inline type pfx##read##bwlq(volatile void __iomem *mem) \
".set mips0" "\n" \
: "=r" (__val) \
: "m" (*__mem)); \
- local_irq_restore(__flags); \
+ if (irq) \
+ local_irq_restore(__flags); \
} else { \
__val = 0; \
BUG(); \