aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/mips/kernel/entry.S3
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/mips/kernel/entry.S b/arch/mips/kernel/entry.S
index 8d83fc2a96b7..38a302919e6b 100644
--- a/arch/mips/kernel/entry.S
+++ b/arch/mips/kernel/entry.S
@@ -11,6 +11,7 @@
11#include <asm/asm.h> 11#include <asm/asm.h>
12#include <asm/asmmacro.h> 12#include <asm/asmmacro.h>
13#include <asm/compiler.h> 13#include <asm/compiler.h>
14#include <asm/irqflags.h>
14#include <asm/regdef.h> 15#include <asm/regdef.h>
15#include <asm/mipsregs.h> 16#include <asm/mipsregs.h>
16#include <asm/stackframe.h> 17#include <asm/stackframe.h>
@@ -119,6 +120,7 @@ work_pending:
119 andi t0, a2, _TIF_NEED_RESCHED # a2 is preloaded with TI_FLAGS 120 andi t0, a2, _TIF_NEED_RESCHED # a2 is preloaded with TI_FLAGS
120 beqz t0, work_notifysig 121 beqz t0, work_notifysig
121work_resched: 122work_resched:
123 TRACE_IRQS_OFF
122 jal schedule 124 jal schedule
123 125
124 local_irq_disable # make sure need_resched and 126 local_irq_disable # make sure need_resched and
@@ -155,6 +157,7 @@ syscall_exit_work:
155 beqz t0, work_pending # trace bit set? 157 beqz t0, work_pending # trace bit set?
156 local_irq_enable # could let syscall_trace_leave() 158 local_irq_enable # could let syscall_trace_leave()
157 # call schedule() instead 159 # call schedule() instead
160 TRACE_IRQS_ON
158 move a0, sp 161 move a0, sp
159 jal syscall_trace_leave 162 jal syscall_trace_leave
160 b resume_userspace 163 b resume_userspace