diff --git a/arch/arm/mach-rk30/platsmp.c b/arch/arm/mach-rk30/platsmp.c index ebcedb01f8b8..41752d902300 100644 --- a/arch/arm/mach-rk30/platsmp.c +++ b/arch/arm/mach-rk30/platsmp.c @@ -36,9 +36,10 @@ int __cpuinit boot_secondary(unsigned int cpu, struct task_struct *idle) if (!copied) { unsigned long sz = 0x100; - memcpy(RK30_SCU_BASE + sz - 4, (void *)rk30_sram_secondary_startup + sz - 4, 4); + memcpy(RK30_IMEM_BASE + sz - 4, (void *)rk30_sram_secondary_startup + sz - 4, 4); memcpy(RK30_IMEM_BASE, rk30_sram_secondary_startup, sz); flush_icache_range((unsigned long)RK30_IMEM_BASE, (unsigned long)RK30_IMEM_BASE + sz); + outer_clean_range(0, sz); copied = true; }