summaryrefslogtreecommitdiffstats
path: root/arch/arc
diff options
context:
space:
mode:
authorRob Herring <robh@kernel.org>2014-05-14 01:34:35 +0200
committerRob Herring <robh@kernel.org>2014-05-14 01:34:35 +0200
commiteafd370dfe487facfdef499057f4eac9aa0b4bf5 (patch)
tree0925a67cd658cdf4811f49b4cd2073f663166bd0 /arch/arc
parentof: push struct boot_param_header and defines into powerpc (diff)
parentof/selftest: add testcase for nodes with same name and address (diff)
downloadlinux-eafd370dfe487facfdef499057f4eac9aa0b4bf5.tar.xz
linux-eafd370dfe487facfdef499057f4eac9aa0b4bf5.zip
Merge branch 'dt-bus-name' into for-next
Diffstat (limited to 'arch/arc')
-rw-r--r--arch/arc/kernel/entry.S8
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:
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]