diff options
-rw-r--r-- | arch/arm/lib/cache-cp15.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/arch/arm/lib/cache-cp15.c b/arch/arm/lib/cache-cp15.c index 8e18538..e6c2d52 100644 --- a/arch/arm/lib/cache-cp15.c +++ b/arch/arm/lib/cache-cp15.c @@ -160,8 +160,11 @@ static void cache_disable(uint32_t cache_bit) } reg = get_cr(); cp_delay(); - if (cache_bit == (CR_C | CR_M)) + if (cache_bit == (CR_C | CR_M)) { flush_dcache_all(); + set_cr(reg & ~CR_C); + flush_dcache_all(); + } set_cr(reg & ~cache_bit); } #endif |