ARC: !PREEMPT: Ensure Return to kernel mode is IRQ safe
[GitHub/mt8127/android_kernel_alcatel_ttab.git] / arch / arc / kernel / entry.S
index 57f38333834b508073583cdfe4becd1fb11a22ee..6f3cd0fb4b54a2411365323cb06f561e09fcf6af 100644 (file)
@@ -651,11 +651,13 @@ resume_user_mode_begin:
 
 resume_kernel_mode:
 
-#ifdef CONFIG_PREEMPT
-
-       ; This is a must for preempt_schedule_irq()
+       ; Disable Interrupts from this point on
+       ; CONFIG_PREEMPT: This is a must for preempt_schedule_irq()
+       ; !CONFIG_PREEMPT: To ensure restore_regs is intr safe
        IRQ_DISABLE     r9
 
+#ifdef CONFIG_PREEMPT
+
        ; Can't preempt if preemption disabled
        GET_CURR_THR_INFO_FROM_SP   r10
        ld  r8, [r10, THREAD_INFO_PREEMPT_COUNT]