[PATCH 06/10] nandwrite: merge `mtd_write_oob' and `mtd_write' calls
Brian Norris
computersforpeace at gmail.com
Wed Aug 31 16:00:35 EDT 2011
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 <computersforpeace at gmail.com>
---
nandwrite.c | 18 +++++++++---------
1 files changed, 9 insertions(+), 9 deletions(-)
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);
--
1.7.5.4
More information about the linux-mtd
mailing list