From mboxrd@z Thu Jan 1 00:00:00 1970 From: Scott Wood Date: Thu, 11 Mar 2010 17:14:14 -0600 Subject: [U-Boot] [PATCH] Add Yaffs2 image writing support. In-Reply-To: <20100311224110.824B2E22AD1@gemini.denx.de> References: <1263145126-23165-1-git-send-email-liwenhao.g@gmail.com> <20100311224110.824B2E22AD1@gemini.denx.de> Message-ID: <4B997946.3080409@freescale.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Wolfgang Denk wrote: > Dear Scott, > > In message <1263145126-23165-1-git-send-email-liwenhao.g@gmail.com> Li Wenha wrote: >> Signed-off-by: Li Wenhao >> --- >> 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