summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/arm/cpu/cache-l2x0.c2
-rw-r--r--arch/arm/cpu/cpu.c4
2 files changed, 3 insertions, 3 deletions
diff --git a/arch/arm/cpu/cache-l2x0.c b/arch/arm/cpu/cache-l2x0.c
index 6bd540ea69..0aa2482321 100644
--- a/arch/arm/cpu/cache-l2x0.c
+++ b/arch/arm/cpu/cache-l2x0.c
@@ -124,8 +124,6 @@ static void l2x0_flush_all(void)
static void l2x0_disable(void)
{
- writel(0xff, l2x0_base + L2X0_CLEAN_INV_WAY);
- while (readl(l2x0_base + L2X0_CLEAN_INV_WAY));
writel(0, l2x0_base + L2X0_CTRL);
}
diff --git a/arch/arm/cpu/cpu.c b/arch/arm/cpu/cpu.c
index ff8f43d175..e8191ecde5 100644
--- a/arch/arm/cpu/cpu.c
+++ b/arch/arm/cpu/cpu.c
@@ -80,8 +80,10 @@ struct outer_cache_fns outer_cache;
void mmu_disable(void)
{
__mmu_cache_flush();
- if (outer_cache.disable)
+ if (outer_cache.disable) {
+ outer_cache.flush_all();
outer_cache.disable();
+ }
__mmu_cache_off();
}