diff options
-rw-r--r-- | arch/s390/kernel/entry.S | 6 | ||||
-rw-r--r-- | arch/s390/kernel/entry64.S | 6 |
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 | # |
626 | io_mcck_pending: | 626 | io_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 | # |
613 | io_mcck_pending: | 613 | io_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 |