summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRohit Vaswani <rvaswani@codeaurora.org>2014-08-07 17:38:41 -0700
committerDavid Keitel <dkeitel@codeaurora.org>2016-03-22 11:10:17 -0700
commitae5c867183cf5e2cdc608cdc9f157680dd8e23d0 (patch)
tree08d933ad6e8b71b4073b6dfdd1784d9677a865e0
parentdc8d0cdaf7dcdd56a854c48a8893039aa305a418 (diff)
arm64: smp: Update the topology masks before calling CPU_STARTING notifiers
Currently, the CPU_STARTING notifiers would observe an incorrect sibling mask since the notifier chain is called before the topology masks are updated for the new cpu. Update the topology masks before calling the notifier chain to fix this problem. Change-Id: I3f698d777af3bb8e324019619b4c1c4de85e7b2c Signed-off-by: Rohit Vaswani <rvaswani@codeaurora.org>
-rw-r--r--arch/arm/kernel/smp.c4
-rw-r--r--arch/arm64/kernel/smp.c4
2 files changed, 4 insertions, 4 deletions
diff --git a/arch/arm/kernel/smp.c b/arch/arm/kernel/smp.c
index 8166aaabe5fc..e31119a4a05c 100644
--- a/arch/arm/kernel/smp.c
+++ b/arch/arm/kernel/smp.c
@@ -384,12 +384,12 @@ asmlinkage void secondary_start_kernel(void)
if (smp_ops.smp_secondary_init)
smp_ops.smp_secondary_init(cpu);
+ smp_store_cpu_info(cpu);
+
notify_cpu_starting(cpu);
calibrate_delay();
- smp_store_cpu_info(cpu);
-
/*
* OK, now it's safe to let the boot CPU continue. Wait for
* the CPU migration code to notice that the CPU is online
diff --git a/arch/arm64/kernel/smp.c b/arch/arm64/kernel/smp.c
index 0b49a587965d..bd7e96552c6b 100644
--- a/arch/arm64/kernel/smp.c
+++ b/arch/arm64/kernel/smp.c
@@ -178,10 +178,10 @@ asmlinkage void secondary_start_kernel(void)
/*
* Enable GIC and timers.
*/
- notify_cpu_starting(cpu);
-
smp_store_cpu_info(cpu);
+ notify_cpu_starting(cpu);
+
/*
* OK, now it's safe to let the boot CPU continue. Wait for
* the CPU migration code to notice that the CPU is online