Remove the unnecessary smp_wmb(), which was added to make sure that the update_cpu_boot_status() completes before we mark the CPU online. But update_cpu_boot_status() already has dsb() (required for the failing CPUs) to ensure the correct behavior.
Cc: Will Deacon <[email protected]> Cc: Mark Rutland <[email protected]> Cc: Dennis Chen <[email protected]> Cc: Catalin Marinas <[email protected]> Signed-off-by: Suzuki K Poulose <[email protected]> --- arch/arm64/kernel/smp.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/arch/arm64/kernel/smp.c b/arch/arm64/kernel/smp.c index b2d5f4e..ec040a8 100644 --- a/arch/arm64/kernel/smp.c +++ b/arch/arm64/kernel/smp.c @@ -225,8 +225,6 @@ asmlinkage void secondary_start_kernel(void) pr_info("CPU%u: Booted secondary processor [%08x]\n", cpu, read_cpuid_id()); update_cpu_boot_status(CPU_BOOT_SUCCESS); - /* Make sure the status update is visible before we complete */ - smp_wmb(); set_cpu_online(cpu, true); complete(&cpu_running); -- 1.7.9.5

