diff options
author | Thomas Bogendoerfer <tsbogend@alpha.franken.de> | 2008-08-04 14:53:57 -0400 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2008-09-05 16:24:11 -0400 |
commit | e0cee3eea7875800451739ae38f99edcf11c133d (patch) | |
tree | 411a044d9094582cb26963a6cee72fd4c594e9fb /arch/mips/mm/c-tx39.c | |
parent | 0510617b85758b6e66f3c602ceccea1826440470 (diff) |
[MIPS] Fix WARNING: at kernel/smp.c:290
trap_init issues flush_icache_range(), which uses ipi functions to
get icache flushing done on all cpus. But this is done before interrupts
are enabled and caused WARN_ON messages. This changeset introduces
a new local_flush_icache_range() and uses it before interrupts (and
additional CPUs) are enabled to avoid this problem.
Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'arch/mips/mm/c-tx39.c')
-rw-r--r-- | arch/mips/mm/c-tx39.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/mips/mm/c-tx39.c b/arch/mips/mm/c-tx39.c index a9f7f1f5e9b4..39c81820ce82 100644 --- a/arch/mips/mm/c-tx39.c +++ b/arch/mips/mm/c-tx39.c | |||
@@ -362,6 +362,7 @@ void __cpuinit tx39_cache_init(void) | |||
362 | flush_cache_range = (void *) tx39h_flush_icache_all; | 362 | flush_cache_range = (void *) tx39h_flush_icache_all; |
363 | flush_cache_page = (void *) tx39h_flush_icache_all; | 363 | flush_cache_page = (void *) tx39h_flush_icache_all; |
364 | flush_icache_range = (void *) tx39h_flush_icache_all; | 364 | flush_icache_range = (void *) tx39h_flush_icache_all; |
365 | local_flush_icache_range = (void *) tx39h_flush_icache_all; | ||
365 | 366 | ||
366 | flush_cache_sigtramp = (void *) tx39h_flush_icache_all; | 367 | flush_cache_sigtramp = (void *) tx39h_flush_icache_all; |
367 | local_flush_data_cache_page = (void *) tx39h_flush_icache_all; | 368 | local_flush_data_cache_page = (void *) tx39h_flush_icache_all; |