diff options
-rw-r--r-- | arch/mn10300/kernel/entry.S | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/arch/mn10300/kernel/entry.S b/arch/mn10300/kernel/entry.S index 222152a3f751..177d61de51c9 100644 --- a/arch/mn10300/kernel/entry.S +++ b/arch/mn10300/kernel/entry.S | |||
@@ -171,10 +171,10 @@ ret_from_intr: | |||
171 | mov (REG_EPSW,fp),d0 # need to deliver signals before | 171 | mov (REG_EPSW,fp),d0 # need to deliver signals before |
172 | # returning to userspace | 172 | # returning to userspace |
173 | and EPSW_nSL,d0 | 173 | and EPSW_nSL,d0 |
174 | beq resume_kernel # returning to supervisor mode | 174 | bne resume_userspace # returning to userspace |
175 | 175 | ||
176 | #ifdef CONFIG_PREEMPT | 176 | #ifdef CONFIG_PREEMPT |
177 | ENTRY(resume_kernel) | 177 | resume_kernel: |
178 | LOCAL_IRQ_DISABLE | 178 | LOCAL_IRQ_DISABLE |
179 | mov (TI_preempt_count,a2),d0 # non-zero preempt_count ? | 179 | mov (TI_preempt_count,a2),d0 # non-zero preempt_count ? |
180 | cmp 0,d0 | 180 | cmp 0,d0 |
@@ -189,6 +189,8 @@ need_resched: | |||
189 | bne restore_all | 189 | bne restore_all |
190 | call preempt_schedule_irq[],0 | 190 | call preempt_schedule_irq[],0 |
191 | jmp need_resched | 191 | jmp need_resched |
192 | #else | ||
193 | jmp resume_kernel | ||
192 | #endif | 194 | #endif |
193 | 195 | ||
194 | 196 | ||