summaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
Diffstat (limited to 'arch')
-rw-r--r--arch/s390/mm/maccess.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/arch/s390/mm/maccess.c b/arch/s390/mm/maccess.c
index fec59c067d0d..350b0acd7f52 100644
--- a/arch/s390/mm/maccess.c
+++ b/arch/s390/mm/maccess.c
@@ -101,7 +101,9 @@ int memcpy_real(void *dest, void *src, size_t count)
local_irq_save(flags);
__arch_local_irq_stnsm(0xfbUL);
rc = __memcpy_real(dest, src, count);
- local_irq_restore(flags);
+ if (!arch_irqs_disabled_flags(flags))
+ trace_hardirqs_on();
+ __arch_local_irq_ssm(flags);
return rc;
}