aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/mips/mm/c-r4k.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/arch/mips/mm/c-r4k.c b/arch/mips/mm/c-r4k.c
index 6332a9e84f01..9b223e07f784 100644
--- a/arch/mips/mm/c-r4k.c
+++ b/arch/mips/mm/c-r4k.c
@@ -562,7 +562,8 @@ static inline void local_r4k_flush_cache_page(void *args)
562 } 562 }
563 563
564 if (cpu_has_dc_aliases || (exec && !cpu_has_ic_fills_f_dc)) { 564 if (cpu_has_dc_aliases || (exec && !cpu_has_ic_fills_f_dc)) {
565 r4k_blast_dcache_page(addr); 565 vaddr ? r4k_blast_dcache_page(addr) :
566 r4k_blast_dcache_user_page(addr);
566 if (exec && !cpu_icache_snoops_remote_store) 567 if (exec && !cpu_icache_snoops_remote_store)
567 r4k_blast_scache_page(addr); 568 r4k_blast_scache_page(addr);
568 } 569 }
@@ -573,7 +574,8 @@ static inline void local_r4k_flush_cache_page(void *args)
573 if (cpu_context(cpu, mm) != 0) 574 if (cpu_context(cpu, mm) != 0)
574 drop_mmu_context(mm, cpu); 575 drop_mmu_context(mm, cpu);
575 } else 576 } else
576 r4k_blast_icache_page(addr); 577 vaddr ? r4k_blast_icache_page(addr) :
578 r4k_blast_icache_user_page(addr);
577 } 579 }
578 580
579 if (vaddr) { 581 if (vaddr) {