diff options
Diffstat (limited to 'arch')
-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 0291afa..c0df109 100644 --- a/arch/arm/lib/cache-cp15.c +++ b/arch/arm/lib/cache-cp15.c @@ -146,8 +146,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 |