Since the enabling and disabling of IRQs within preempt_schedule_irq()
is contained in a need_resched() loop, we don't need the outer arch
code loop.

Signed-off-by: Valentin Schneider <[email protected]>
Cc: Greentime Hu <[email protected]>
Cc: Vincent Chen <[email protected]>
---
 arch/nds32/kernel/ex-exit.S | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/nds32/kernel/ex-exit.S b/arch/nds32/kernel/ex-exit.S
index 97ba15cd4180..1df02a793364 100644
--- a/arch/nds32/kernel/ex-exit.S
+++ b/arch/nds32/kernel/ex-exit.S
@@ -163,7 +163,7 @@ resume_kernel:
        gie_disable
        lwi     $t0, [tsk+#TSK_TI_PREEMPT]
        bnez    $t0, no_work_pending
-need_resched:
+
        lwi     $t0, [tsk+#TSK_TI_FLAGS]
        andi    $p1, $t0, #_TIF_NEED_RESCHED
        beqz    $p1, no_work_pending
@@ -173,7 +173,7 @@ need_resched:
        beqz    $t0, no_work_pending
 
        jal     preempt_schedule_irq
-       b       need_resched
+       b       no_work_pending
 #endif
 
 /*
-- 
2.20.1

Reply via email to