aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorsteven miao <realmz6@gmail.com>2010-09-07 06:08:36 -0400
committerMike Frysinger <vapier@gentoo.org>2011-03-18 04:01:02 -0400
commitab61d2ac5c9d7c9232b8455c8d889216ca9d4814 (patch)
tree5b8f23ea2b8a6fdb87fa8b5249fb72a600b3a51e /arch
parent5f362c91d09370cf8a3c5fbe349218377ad64e4a (diff)
Blackfin: SMP: delay enabling caches until CPU is initialized
Defer bfin_setup_caches(cpu) to avoid unexpected faults due to the cpu state not yet being fully initialized. Signed-off-by: steven miao <realmz6@gmail.com> Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Diffstat (limited to 'arch')
-rw-r--r--arch/blackfin/mach-common/smp.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/arch/blackfin/mach-common/smp.c b/arch/blackfin/mach-common/smp.c
index d3f597a92053..40e6cbc363f5 100644
--- a/arch/blackfin/mach-common/smp.c
+++ b/arch/blackfin/mach-common/smp.c
@@ -361,8 +361,6 @@ void __cpuinit secondary_start_kernel(void)
361 */ 361 */
362 init_exception_vectors(); 362 init_exception_vectors();
363 363
364 bfin_setup_caches(cpu);
365
366 local_irq_disable(); 364 local_irq_disable();
367 365
368 /* Attach the new idle task to the global mm. */ 366 /* Attach the new idle task to the global mm. */
@@ -381,6 +379,8 @@ void __cpuinit secondary_start_kernel(void)
381 379
382 local_irq_enable(); 380 local_irq_enable();
383 381
382 bfin_setup_caches(cpu);
383
384 /* 384 /*
385 * Calibrate loops per jiffy value. 385 * Calibrate loops per jiffy value.
386 * IRQs need to be enabled here - D-cache can be invalidated 386 * IRQs need to be enabled here - D-cache can be invalidated