diff options
Diffstat (limited to 'kernel/arch/arm/kernel/entry-armv.S')
-rw-r--r-- | kernel/arch/arm/kernel/entry-armv.S | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/kernel/arch/arm/kernel/entry-armv.S b/kernel/arch/arm/kernel/entry-armv.S index d66b1aef2..d044cea59 100644 --- a/kernel/arch/arm/kernel/entry-armv.S +++ b/kernel/arch/arm/kernel/entry-armv.S @@ -244,7 +244,11 @@ svc_preempt: bne 1b tst r0, #_TIF_NEED_RESCHED_LAZY reteq r8 @ go again - b 1b + ldr r0, [tsk, #TI_PREEMPT_LAZY] @ get preempt lazy count + teq r0, #0 @ if preempt lazy count != 0 + beq 1b + ret r8 @ go again + #endif __und_fault: |