| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- From 679a5be6f06b909adccc9c588feb26bf6d6df402 Mon Sep 17 00:00:00 2001
- From: Kurt Mahan <[email protected]>
- Date: Thu, 6 Dec 2007 16:40:39 -0700
- Subject: [PATCH] Add zero length checking to cache routines.
- LTIBName: mcfv4e-cache-ck-0-len
- Signed-off-by: Kurt Mahan <[email protected]>
- ---
- include/asm-m68k/cf_cacheflush.h | 14 +++++++++++---
- 1 files changed, 11 insertions(+), 3 deletions(-)
- --- a/include/asm-m68k/cf_cacheflush.h
- +++ b/include/asm-m68k/cf_cacheflush.h
- @@ -127,7 +127,9 @@ static inline void flush_bcache(void)
- static inline void cf_cache_clear(unsigned long paddr, int len)
- {
- /* number of lines */
- - len = (len + (CACHE_LINE_SIZE-1)) / CACHE_LINE_SIZE;
- + len = (len + (CACHE_LINE_SIZE-1)) / CACHE_LINE_SIZE;
- + if (len == 0)
- + return;
-
- /* align on set boundary */
- paddr &= 0xfffffff0;
- @@ -161,7 +163,9 @@ static inline void cf_cache_clear(unsign
- static inline void cf_cache_push(unsigned long paddr, int len)
- {
- /* number of lines */
- - len = (len + (CACHE_LINE_SIZE-1)) / CACHE_LINE_SIZE;
- + len = (len + (CACHE_LINE_SIZE-1)) / CACHE_LINE_SIZE;
- + if (len == 0)
- + return;
-
- /* align on set boundary */
- paddr &= 0xfffffff0;
- @@ -195,7 +199,9 @@ static inline void cf_cache_push(unsigne
- static inline void cf_cache_flush(unsigned long paddr, int len)
- {
- /* number of lines */
- - len = (len + (CACHE_LINE_SIZE-1)) / CACHE_LINE_SIZE;
- + len = (len + (CACHE_LINE_SIZE-1)) / CACHE_LINE_SIZE;
- + if (len == 0)
- + return;
-
- /* align on set boundary */
- paddr &= 0xfffffff0;
- @@ -234,6 +240,8 @@ static inline void cf_cache_flush_range(
- vstart &= 0xfffffff0;
- vend = PAGE_ALIGN((vend + (CACHE_LINE_SIZE-1))) & 0xfffffff0;
- len = vend - vstart;
- + if (len == 0)
- + return;
- vstart = __pa(vstart);
- vend = vstart + len;
-
|