Wolfgang Denk wrote: > Dear Scott, > > In message <1263145126-23165-1-git-send-email-liwenha...@gmail.com> Li Wenha > wrote: >> Signed-off-by: Li Wenhao <liwenha...@gmail.com> >> --- >> common/cmd_nand.c | 21 +++++++++++++++++++++ >> 1 files changed, 21 insertions(+), 0 deletions(-) >> >> diff --git a/common/cmd_nand.c b/common/cmd_nand.c >> index 075a8af..38c6480 100644 >> --- a/common/cmd_nand.c >> +++ b/common/cmd_nand.c >> @@ -390,6 +390,27 @@ int do_nand(cmd_tbl_t * cmdtp, int flag, int argc, char >> *argv[]) >> ret = nand->read_oob(nand, off, &ops); >> else >> ret = nand->write_oob(nand, off, &ops); >> + } else if (!strcmp(s, ".yaffs2") && !read) { >> + mtd_oob_ops_t ops = { >> + .mode = MTD_OOB_AUTO, >> + .len = 2048, /* page size */ >> + .ooblen = 64, /* spare size */ >> + };
What about 512 or 4096 byte pages? >> + >> + ulong page = 0; >> + ulong block_size = ops.len + ops.ooblen; >> + while (page * block_size < size) { What if "size" is not a multiple of "block_size"? Should not read past the end of the input array, and should warn the user. >> + ret = nand->write_oob(nand, >> + off + page * ops.len, >> + &ops); >> + >> + if (ret) break; The break should go on its own line, and you should tell the user about the failure. >> + >> + page++; >> + } >> } else { >> printf("Unknown nand command suffix '%s'.\n", s); >> return 1; >> -- >> 1.6.3.3 > > What is the status of this patch? Is it in your queue? No, I didn't notice it -- the subject doesn't mention NAND, and it presumably wasn't CCed to me. Li Wenhao, could you send a new patch addressing the above issues, plus updated documentation? -Scott _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot