|
@@ -56,6 +56,10 @@ void flush_cache(ulong start_addr, ulong size)
|
|
|
unsigned long addr = start_addr & ~(lsize - 1);
|
|
|
unsigned long aend = (start_addr + size - 1) & ~(lsize - 1);
|
|
|
|
|
|
+ /* aend will be miscalculated when size is zero, so we return here */
|
|
|
+ if (size == 0)
|
|
|
+ return;
|
|
|
+
|
|
|
while (1) {
|
|
|
cache_op(Hit_Writeback_Inv_D, addr);
|
|
|
cache_op(Hit_Invalidate_I, addr);
|