aboutsummaryrefslogtreecommitdiffstats
path: root/arch/mips
diff options
context:
space:
mode:
authorPetri Gynther <pgynther@google.com>2015-05-27 02:25:08 -0400
committerRalf Baechle <ralf@linux-mips.org>2015-05-29 14:23:43 -0400
commit57b41758230b567218cb5bc3da9068aabc496fc9 (patch)
tree00942c7a69e9efdd8f8ff40db2f128df93a244f4 /arch/mips
parent556b6629c10c65cee42fa893681ffdd653d097c4 (diff)
MIPS: BMIPS: Fix bmips_wr_vec()
bmips_wr_vec() copies exception vector code from start to dst. The call to dma_cache_wback() needs to flush (end-start) bytes, starting at dst, from write-back cache to memory. Signed-off-by: Petri Gynther <pgynther@google.com> Acked-by: Florian Fainelli <f.fainelli@gmail.com> Reviewed-by: Kevin Cernekee <cernekee@gmail.com> Cc: linux-mips@linux-mips.org Patchwork: https://patchwork.linux-mips.org/patch/10193/ Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'arch/mips')
-rw-r--r--arch/mips/kernel/smp-bmips.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/mips/kernel/smp-bmips.c b/arch/mips/kernel/smp-bmips.c
index fd528d7ea278..336708ae5c5b 100644
--- a/arch/mips/kernel/smp-bmips.c
+++ b/arch/mips/kernel/smp-bmips.c
@@ -444,7 +444,7 @@ struct plat_smp_ops bmips5000_smp_ops = {
444static void bmips_wr_vec(unsigned long dst, char *start, char *end) 444static void bmips_wr_vec(unsigned long dst, char *start, char *end)
445{ 445{
446 memcpy((void *)dst, start, end - start); 446 memcpy((void *)dst, start, end - start);
447 dma_cache_wback((unsigned long)start, end - start); 447 dma_cache_wback(dst, end - start);
448 local_flush_icache_range(dst, dst + (end - start)); 448 local_flush_icache_range(dst, dst + (end - start));
449 instruction_hazard(); 449 instruction_hazard();
450} 450}