summaryrefslogtreecommitdiffstats
path: root/drivers/mtd/mtdraw.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/mtd/mtdraw.c')
-rw-r--r--drivers/mtd/mtdraw.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/mtd/mtdraw.c b/drivers/mtd/mtdraw.c
index 16157e9f48..f541802a84 100644
--- a/drivers/mtd/mtdraw.c
+++ b/drivers/mtd/mtdraw.c
@@ -128,7 +128,8 @@ static ssize_t mtdraw_read(struct cdev *cdev, void *buf, size_t count,
skip = offset % (mtd->writesize + mtd->oobsize);
while (ret > 0 && count > 0) {
- toread = min_t(int, count, mtd->writesize + mtd->oobsize);
+ toread = min_t(int, count,
+ mtd->writesize + mtd->oobsize - skip);
ret = mtdraw_read_unaligned(mtd, buf, toread,
skip, numpage++ * mtd->writesize);
buf += ret;
@@ -137,7 +138,7 @@ static ssize_t mtdraw_read(struct cdev *cdev, void *buf, size_t count,
retlen += ret;
}
if (ret < 0)
- printf("err %lu\n", ret);
+ printf("err %zd\n", ret);
else
ret = retlen;
return ret;