Signed-off-by: Thiemo Seufer <ths@networkno.de>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
        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"  \
                        ".set   mips0"                          "\n"    \
                        : "=r" (__val)                                  \
                        : "m" (*__mem));                                \
-               local_irq_restore(__flags);                             \
+               if (irq)                                                \
+                       local_irq_restore(__flags);                     \
        } else {                                                        \
                __val = 0;                                              \
                BUG();                                                  \