diff options
Diffstat (limited to 'kernel/arch/arm/include/asm/switch_to.h')
-rw-r--r-- | kernel/arch/arm/include/asm/switch_to.h | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/kernel/arch/arm/include/asm/switch_to.h b/kernel/arch/arm/include/asm/switch_to.h index f3e3d800c..c96208460 100644 --- a/kernel/arch/arm/include/asm/switch_to.h +++ b/kernel/arch/arm/include/asm/switch_to.h @@ -17,7 +17,9 @@ switch_kmaps(struct task_struct *prev_p, struct task_struct *next_p) { } * CPU. */ #if defined(CONFIG_PREEMPT) && defined(CONFIG_SMP) && defined(CONFIG_CPU_V7) -#define finish_arch_switch(prev) dsb(ish) +#define __complete_pending_tlbi() dsb(ish) +#else +#define __complete_pending_tlbi() #endif /* @@ -29,6 +31,7 @@ extern struct task_struct *__switch_to(struct task_struct *, struct thread_info #define switch_to(prev,next,last) \ do { \ + __complete_pending_tlbi(); \ switch_kmaps(prev, next); \ last = __switch_to(prev,task_thread_info(prev), task_thread_info(next)); \ } while (0) |