projects
/
firefly-linux-kernel-4.4.55.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'master' of /home/tglx/work/mtd/git/linux-2.6.git/
[firefly-linux-kernel-4.4.55.git]
/
drivers
/
mtd
/
mtdchar.c
diff --git
a/drivers/mtd/mtdchar.c
b/drivers/mtd/mtdchar.c
index 16df1e4fb0e94d2efec9542e6114f0593c3ad3bf..8c0d94b72b63671cae6c1aa51ab30bfa9957da96 100644
(file)
--- a/
drivers/mtd/mtdchar.c
+++ b/
drivers/mtd/mtdchar.c
@@
-1,5
+1,5
@@
/*
/*
- * $Id: mtdchar.c,v 1.7
3 2005/07/04 17:36:41 gleixne
r Exp $
+ * $Id: mtdchar.c,v 1.7
4 2005/08/04 01:05:48 tpoyno
r Exp $
*
* Character-device access to raw MTD devices.
*
*
* Character-device access to raw MTD devices.
*
@@
-70,26
+70,23
@@
static loff_t mtd_lseek (struct file *file, loff_t offset, int orig)
switch (orig) {
case 0:
/* SEEK_SET */
switch (orig) {
case 0:
/* SEEK_SET */
- file->f_pos = offset;
break;
case 1:
/* SEEK_CUR */
break;
case 1:
/* SEEK_CUR */
-
file->f_pos += offset
;
+
offset += file->f_pos
;
break;
case 2:
/* SEEK_END */
break;
case 2:
/* SEEK_END */
-
file->f_pos =mtd->size + offset
;
+
offset += mtd->size
;
break;
default:
return -EINVAL;
}
break;
default:
return -EINVAL;
}
- if (file->f_pos < 0)
- file->f_pos = 0;
- else if (file->f_pos >= mtd->size)
- file->f_pos = mtd->size - 1;
+ if (offset >= 0 && offset < mtd->size)
+ return file->f_pos = offset;
- return
file->f_pos
;
+ return
-EINVAL
;
}
}