summaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2018-09-21 10:40:43 +0200
committerSascha Hauer <s.hauer@pengutronix.de>2018-09-21 13:14:27 +0200
commit8bc9f5d6085a3941c5a6c767efb96713d4e5c066 (patch)
treee4f9d548979ef1a57b97307d8a615550643acacd /drivers
parent06095d24066649742b8d3e3de2da278d08ef7512 (diff)
downloadbarebox-8bc9f5d6085a3941c5a6c767efb96713d4e5c066.tar.gz
barebox-8bc9f5d6085a3941c5a6c767efb96713d4e5c066.tar.xz
mtd: mtdraw: do not write empty buffers
When a page is completely 0xff then do not write it since users expect pages to be writable when they are empty. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/mtd/mtdraw.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/mtd/mtdraw.c b/drivers/mtd/mtdraw.c
index 3ad9de80a2..bfae795bd7 100644
--- a/drivers/mtd/mtdraw.c
+++ b/drivers/mtd/mtdraw.c
@@ -165,6 +165,9 @@ static ssize_t mtdraw_blkwrite(struct mtd_info *mtd, const void *buf,
struct mtd_oob_ops ops;
int ret;
+ if (mtd_buf_all_ff(buf, mtd->writesize + mtd->oobsize))
+ return 0;
+
ops.mode = MTD_OPS_RAW;
ops.ooboffs = 0;
ops.datbuf = (void *)buf;