aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/s390/kernel/entry.S6
-rw-r--r--arch/s390/kernel/entry64.S6
2 files changed, 8 insertions, 4 deletions
diff --git a/arch/s390/kernel/entry.S b/arch/s390/kernel/entry.S
index bc7ff3658c3d..f3bceb165321 100644
--- a/arch/s390/kernel/entry.S
+++ b/arch/s390/kernel/entry.S
@@ -624,9 +624,11 @@ io_work_loop:
624# _TIF_MCCK_PENDING is set, call handler 624# _TIF_MCCK_PENDING is set, call handler
625# 625#
626io_mcck_pending: 626io_mcck_pending:
627 TRACE_IRQS_OFF
627 l %r1,BASED(.Ls390_handle_mcck) 628 l %r1,BASED(.Ls390_handle_mcck)
628 la %r14,BASED(io_work_loop) 629 basr %r14,%r1 # TIF bit will be cleared by handler
629 br %r1 # TIF bit will be cleared by handler 630 TRACE_IRQS_ON
631 b BASED(io_work_loop)
630 632
631# 633#
632# _TIF_NEED_RESCHED is set, call schedule 634# _TIF_NEED_RESCHED is set, call schedule
diff --git a/arch/s390/kernel/entry64.S b/arch/s390/kernel/entry64.S
index 2a7b1304418b..9c0d5cc8269d 100644
--- a/arch/s390/kernel/entry64.S
+++ b/arch/s390/kernel/entry64.S
@@ -611,8 +611,10 @@ io_work_loop:
611# _TIF_MCCK_PENDING is set, call handler 611# _TIF_MCCK_PENDING is set, call handler
612# 612#
613io_mcck_pending: 613io_mcck_pending:
614 larl %r14,io_work_loop 614 TRACE_IRQS_OFF
615 jg s390_handle_mcck # TIF bit will be cleared by handler 615 brasl %r14,s390_handle_mcck # TIF bit will be cleared by handler
616 TRACE_IRQS_ON
617 j io_work_loop
616 618
617# 619#
618# _TIF_NEED_RESCHED is set, call schedule 620# _TIF_NEED_RESCHED is set, call schedule