Merge branch 'torvalds/master'
[firefly-linux-kernel-4.4.55.git] / arch / mn10300 / kernel / entry.S
index 222152a3f75195b429a6794e036c279cdb2e6160..177d61de51c938557596658847b6903d13d24ed9 100644 (file)
@@ -171,10 +171,10 @@ ret_from_intr:
        mov     (REG_EPSW,fp),d0        # need to deliver signals before
                                        # returning to userspace
        and     EPSW_nSL,d0
-       beq     resume_kernel           # returning to supervisor mode
+       bne     resume_userspace        # returning to userspace
 
 #ifdef CONFIG_PREEMPT
-ENTRY(resume_kernel)
+resume_kernel:
        LOCAL_IRQ_DISABLE
        mov     (TI_preempt_count,a2),d0        # non-zero preempt_count ?
        cmp     0,d0
@@ -189,6 +189,8 @@ need_resched:
        bne     restore_all
        call    preempt_schedule_irq[],0
        jmp     need_resched
+#else
+       jmp     resume_kernel
 #endif