[PATCH 1/1] MTD mtdchar: add missing initializer on raw write

Peter Wippich pewi at gw-instruments.de
Mon Jun 6 09:50:58 EDT 2011


On writes in MODE_RAW the mtd_oob_ops struct is not sufficiently 
initialized which may cause nandwrite to fail. With this patch
it is possible to write raw nand/oob data without additional ECC
(either for testing or when some sectors need different oob layout
e.g. bootloader) like
nandwrite  -n -r -o  /dev/mtd0 <myfile>

Signed-off-by: Peter Wippich <pewi at gw-instruments.de>

diff --git a/drivers/mtd/mtdchar.c b/drivers/mtd/mtdchar.c
index 3f92731..797a34a 100644
--- a/drivers/mtd/mtdchar.c
+++ b/drivers/mtd/mtdchar.c
@@ -321,6 +321,7 @@ static ssize_t mtd_write(struct file *file, const char __user *buf, size_t count
                         ops.datbuf = kbuf;
                         ops.oobbuf = NULL;
                         ops.len = len;
+                       ops.ooboffs = 0;

                         ret = mtd->write_oob(mtd, *ppos, &ops);
                         retlen = ops.retlen;




More information about the linux-mtd mailing list