diff options
| -rw-r--r-- | arch/arc/kernel/entry.S | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/arch/arc/kernel/entry.S b/arch/arc/kernel/entry.S index 819dd5f7eb05..29b82adbf0b4 100644 --- a/arch/arc/kernel/entry.S +++ b/arch/arc/kernel/entry.S | |||
| @@ -614,11 +614,13 @@ resume_user_mode_begin: | |||
| 614 | 614 | ||
| 615 | resume_kernel_mode: | 615 | resume_kernel_mode: |
| 616 | 616 | ||
| 617 | #ifdef CONFIG_PREEMPT | 617 | ; Disable Interrupts from this point on |
| 618 | 618 | ; CONFIG_PREEMPT: This is a must for preempt_schedule_irq() | |
| 619 | ; This is a must for preempt_schedule_irq() | 619 | ; !CONFIG_PREEMPT: To ensure restore_regs is intr safe |
| 620 | IRQ_DISABLE r9 | 620 | IRQ_DISABLE r9 |
| 621 | 621 | ||
| 622 | #ifdef CONFIG_PREEMPT | ||
| 623 | |||
| 622 | ; Can't preempt if preemption disabled | 624 | ; Can't preempt if preemption disabled |
| 623 | GET_CURR_THR_INFO_FROM_SP r10 | 625 | GET_CURR_THR_INFO_FROM_SP r10 |
| 624 | ld r8, [r10, THREAD_INFO_PREEMPT_COUNT] | 626 | ld r8, [r10, THREAD_INFO_PREEMPT_COUNT] |
