aboutsummaryrefslogtreecommitdiffstats
path: root/arch/s390/kernel/entry64.S
diff options
context:
space:
mode:
authorMartin Schwidefsky <schwidefsky@de.ibm.com>2013-08-23 08:45:58 -0400
committerMartin Schwidefsky <schwidefsky@de.ibm.com>2013-08-28 03:19:23 -0400
commit0587d409ec53312f735d2004d5f47f8effee1ea9 (patch)
tree7ab956aaf3d7d238f8bd40a8f50d60302cb3363a /arch/s390/kernel/entry64.S
parent6b169ac9b4342ff3a1499bdeb7596aa4f1bc401b (diff)
s390/time: return with irqs disabled from psw_idle
Modify the psw_idle waiting logic in entry[64].S to return with interrupts disabled. This avoids potential issues with udelay and interrupt loops as interrupts are not reenabled after clock comparator interrupts. Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'arch/s390/kernel/entry64.S')
-rw-r--r--arch/s390/kernel/entry64.S2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/s390/kernel/entry64.S b/arch/s390/kernel/entry64.S
index 980c7aa1cc5c..2b2188b97c6a 100644
--- a/arch/s390/kernel/entry64.S
+++ b/arch/s390/kernel/entry64.S
@@ -929,7 +929,7 @@ cleanup_idle:
929 stg %r9,__LC_SYSTEM_TIMER 929 stg %r9,__LC_SYSTEM_TIMER
930 mvc __LC_LAST_UPDATE_TIMER(8),__TIMER_IDLE_EXIT(%r2) 930 mvc __LC_LAST_UPDATE_TIMER(8),__TIMER_IDLE_EXIT(%r2)
931 # prepare return psw 931 # prepare return psw
932 nihh %r8,0xfffd # clear wait state bit 932 nihh %r8,0xfcfd # clear irq & wait state bits
933 lg %r9,48(%r11) # return from psw_idle 933 lg %r9,48(%r11) # return from psw_idle
934 br %r14 934 br %r14
935cleanup_idle_insn: 935cleanup_idle_insn: