summary refs log tree commit diff
path: root/drivers/char
diff options
context:
space:
mode:
authorWu Fengguang <fengguang.wu@intel.com>2009-12-14 17:57:57 -0800
committerLinus Torvalds <torvalds@linux-foundation.org>2009-12-15 08:53:11 -0800
commit4ea2f43f28e30050bc99fe3134b6b679f3bf5b22 (patch)
tree1b0d50312a85a642b66d971406e9d8b0894250e4 /drivers/char
parent659ace584e7a9fdda872eab4d6d7be1e0afb6cae (diff)
downloadlinux-4ea2f43f28e30050bc99fe3134b6b679f3bf5b22.tar.gz
/dev/mem: remove redundant test on len
The len test in write_kmem() is always true, so can be reduced.

Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
Acked-by: Andi Kleen <ak@linux.intel.com>
Cc: Marcelo Tosatti <mtosatti@redhat.com>
Cc: Greg Kroah-Hartman <gregkh@suse.de>
Cc: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: Johannes Berg <johannes@sipsolutions.net>
Cc: Avi Kivity <avi@qumranet.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'drivers/char')
-rw-r--r--drivers/char/mem.c14
1 files changed, 6 insertions, 8 deletions
diff --git a/drivers/char/mem.c b/drivers/char/mem.c
index fba76fb55abf..f0a90590cb1a 100644
--- a/drivers/char/mem.c
+++ b/drivers/char/mem.c
@@ -581,14 +581,12 @@ static ssize_t write_kmem(struct file * file, const char __user * buf,
 
 			if (len > PAGE_SIZE)
 				len = PAGE_SIZE;
-			if (len) {
-				written = copy_from_user(kbuf, buf, len);
-				if (written) {
-					if (wrote + virtr)
-						break;
-					free_page((unsigned long)kbuf);
-					return -EFAULT;
-				}
+			written = copy_from_user(kbuf, buf, len);
+			if (written) {
+				if (wrote + virtr)
+					break;
+				free_page((unsigned long)kbuf);
+				return -EFAULT;
 			}
 			len = vwrite(kbuf, (char *)p, len);
 			count -= len;