summaryrefslogtreecommitdiffstats
path: root/arch/sh/kernel/sys_sh.c
diff options
context:
space:
mode:
authorGiuseppe Cavallaro <peppe.cavallaro@st.com>2009-08-24 11:59:09 +0200
committerPaul Mundt <lethal@linux-sh.org>2009-08-24 11:59:09 +0200
commit788e6af37a4ace8721eda72e4abe66fe0f6b49fd (patch)
tree121e2d52430dbe5adfb04549bd2c17480e93983f /arch/sh/kernel/sys_sh.c
parentsh: Fix problems with cache flushing when cache is in write-through mode (diff)
downloadlinux-788e6af37a4ace8721eda72e4abe66fe0f6b49fd.tar.xz
linux-788e6af37a4ace8721eda72e4abe66fe0f6b49fd.zip
sh: fix sys_cacheflush error checking
sys_cacheflush should return with EINVAL if the cache parameter is not one of ICACHE, DCACHE or BCACHE. So, we need to include 0 in the first check. It also adds the three definitions above as wrapper of the existent macros. PS: ltp cacheflush01 test now passes. Signed-off-by: Giuseppe Cavallaro <peppe.cavallaro@st.com> Signed-off-by: Stuart Menefy <stuart.menefy@st.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'arch/sh/kernel/sys_sh.c')
-rw-r--r--arch/sh/kernel/sys_sh.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/sh/kernel/sys_sh.c b/arch/sh/kernel/sys_sh.c
index ec65dd8842b1..8aa5d1ceaf14 100644
--- a/arch/sh/kernel/sys_sh.c
+++ b/arch/sh/kernel/sys_sh.c
@@ -186,7 +186,7 @@ asmlinkage int sys_cacheflush(unsigned long addr, unsigned long len, int op)
{
struct vm_area_struct *vma;
- if ((op < 0) || (op > (CACHEFLUSH_D_PURGE|CACHEFLUSH_I)))
+ if ((op <= 0) || (op > (CACHEFLUSH_D_PURGE|CACHEFLUSH_I)))
return -EINVAL;
/*