summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorsteven miao <realmz6@gmail.com>2010-09-07 10:08:36 +0000
committerMike Frysinger <vapier@gentoo.org>2011-03-18 04:01:02 -0400
commitab61d2ac5c9d7c9232b8455c8d889216ca9d4814 (patch)
tree5b8f23ea2b8a6fdb87fa8b5249fb72a600b3a51e
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>
-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 d3f597a9205..40e6cbc363f 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)
*/
init_exception_vectors();
- bfin_setup_caches(cpu);
-
local_irq_disable();
/* Attach the new idle task to the global mm. */
@@ -381,6 +379,8 @@ void __cpuinit secondary_start_kernel(void)
local_irq_enable();
+ bfin_setup_caches(cpu);
+
/*
* Calibrate loops per jiffy value.
* IRQs need to be enabled here - D-cache can be invalidated