ARC: Entry Handler tweaks: Simplify branch for in-kernel preemption
authorVineet Gupta <vgupta@synopsys.com>
Tue, 14 May 2013 13:00:50 +0000 (18:30 +0530)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 13 May 2014 11:59:42 +0000 (13:59 +0200)
commit 147aece29b15051173eb1e767018135361cdba89 upstream.

Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
arch/arc/kernel/entry.S

index 6dbe359c760dde2625c1cef0b35f8db460f8bdeb..922150e153eadf472ad6fafc88f3cce1d25a6722 100644 (file)
@@ -589,11 +589,7 @@ ARC_ENTRY ret_from_exception
        ; Pre-{IRQ,Trap,Exception} K/U mode from pt_regs->status32
        ld  r8, [sp, PT_status32]   ; returning to User/Kernel Mode
 
-#ifdef CONFIG_PREEMPT
        bbit0  r8, STATUS_U_BIT, resume_kernel_mode
-#else
-       bbit0  r8, STATUS_U_BIT, restore_regs
-#endif
 
        ; Before returning to User mode check-for-and-complete any pending work
        ; such as rescheduling/signal-delivery etc.
@@ -653,10 +649,10 @@ resume_user_mode_begin:
        b      resume_user_mode_begin   ; unconditionally back to U mode ret chks
                                        ; for single exit point from this block
 
-#ifdef CONFIG_PREEMPT
-
 resume_kernel_mode:
 
+#ifdef CONFIG_PREEMPT
+
        ; Can't preempt if preemption disabled
        GET_CURR_THR_INFO_FROM_SP   r10
        ld  r8, [r10, THREAD_INFO_PREEMPT_COUNT]