aboutsummaryrefslogtreecommitdiff
path: root/arch/arm64/mm/context.c
diff options
context:
space:
mode:
authorGary S. Robertson <gary.robertson@linaro.org>2015-09-09 14:34:49 -0500
committerGary S. Robertson <gary.robertson@linaro.org>2015-09-09 14:34:49 -0500
commit60f13d2d65b7c0c4096321ee88670e56954ee215 (patch)
treed00f8c8159913c76970b2da3b2942ba08909bd1e /arch/arm64/mm/context.c
parentfc6c8563fb89aaaab437f8215894219e54dfc5df (diff)
parent417f54239f760856db32c520ae542ff288145c13 (diff)
Merge tag 'lsk-v3.18-15.08' of http://git.linaro.org/kernel/linux-linaro-stable into linux-linaro-lng-v3.18linux-lng-3.18.20-2015.09linux-linaro-lng-v3.18-test
LSK 15.08 v3.18 Signed-off-by: Gary S. Robertson <gary.robertson@linaro.org> Conflicts: drivers/clocksource/exynos_mct.c
Diffstat (limited to 'arch/arm64/mm/context.c')
-rw-r--r--arch/arm64/mm/context.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/arch/arm64/mm/context.c b/arch/arm64/mm/context.c
index baa758d37021..76c1e6cd36fc 100644
--- a/arch/arm64/mm/context.c
+++ b/arch/arm64/mm/context.c
@@ -92,6 +92,14 @@ static void reset_context(void *info)
unsigned int cpu = smp_processor_id();
struct mm_struct *mm = current->active_mm;
+ /*
+ * current->active_mm could be init_mm for the idle thread immediately
+ * after secondary CPU boot or hotplug. TTBR0_EL1 is already set to
+ * the reserved value, so no need to reset any context.
+ */
+ if (mm == &init_mm)
+ return;
+
smp_rmb();
asid = cpu_last_asid + cpu;