From ec03ced5fa6eb25eee164839268b538abb965e99 Mon Sep 17 00:00:00 2001 From: Imre Kaloz Date: Tue, 23 Jun 2009 21:04:37 +0000 Subject: use broken-out patches for the coldfire to make it easier to follow differences against the bsp git-svn-id: svn://svn.openwrt.org/openwrt/trunk@16547 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- .../patches/028-mcfv4e_cache_ck_0_len.patch | 55 ++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 target/linux/coldfire/patches/028-mcfv4e_cache_ck_0_len.patch (limited to 'target/linux/coldfire/patches/028-mcfv4e_cache_ck_0_len.patch') diff --git a/target/linux/coldfire/patches/028-mcfv4e_cache_ck_0_len.patch b/target/linux/coldfire/patches/028-mcfv4e_cache_ck_0_len.patch new file mode 100644 index 0000000000..a160f5600a --- /dev/null +++ b/target/linux/coldfire/patches/028-mcfv4e_cache_ck_0_len.patch @@ -0,0 +1,55 @@ +From 679a5be6f06b909adccc9c588feb26bf6d6df402 Mon Sep 17 00:00:00 2001 +From: Kurt Mahan +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 +--- + 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; + -- cgit v1.2.3