From 040c937ca2c5ae1f35c24a3cc0154e9a31df5933 Mon Sep 17 00:00:00 2001 From: Brian Norris Date: Wed, 31 Aug 2011 13:00:35 -0700 Subject: nandwrite: merge `mtd_write_oob' and `mtd_write' calls Now that `mtd_write' can write to both OOB and data regions, we need to perform our `mtd_write' call only once. Signed-off-by: Brian Norris Signed-off-by: Artem Bityutskiy --- nandwrite.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) (limited to 'nandwrite.c') diff --git a/nandwrite.c b/nandwrite.c index 33a3b8f..a78b0b6 100644 --- a/nandwrite.c +++ b/nandwrite.c @@ -534,17 +534,17 @@ int main(int argc, char * const argv[]) } else { memcpy(oobbuf, oobreadbuf, mtd.oob_size); } - /* Write OOB data first, as ecc will be placed in there */ - if (mtd_write_oob(mtd_desc, &mtd, fd, mtdoffset, - mtd.oob_size, oobbuf)) { - sys_errmsg("%s: MTD writeoob failure", mtd_device); - goto closeall; - } } - /* Write out the Page data */ - if (!onlyoob && mtd_write(mtd_desc, &mtd, fd, mtdoffset / mtd.eb_size, mtdoffset % mtd.eb_size, - writebuf, mtd.min_io_size, NULL, 0, 0)) { + /* Write out data */ + ret = mtd_write(mtd_desc, &mtd, fd, mtdoffset / mtd.eb_size, + mtdoffset % mtd.eb_size, + onlyoob ? NULL : writebuf, + onlyoob ? 0 : mtd.min_io_size, + writeoob ? oobbuf : NULL, + writeoob ? mtd.oob_size : 0, + noecc ? MTD_OPS_RAW : MTD_OPS_PLACE_OOB); + if (ret) { int i; if (errno != EIO) { sys_errmsg("%s: MTD write failure", mtd_device); -- cgit v1.2.3