[U-Boot] [PATCH] onenand: fix oob print out issue

Seems original implementation forget to set the pointer to point to the oobbuf, so when we want to see oob buf, we see nothing... Fix it by get pointer as the oobbuf set.
Signed-off-by: Lei Wen leiwen@marvell.com --- common/cmd_onenand.c | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/common/cmd_onenand.c b/common/cmd_onenand.c index 33108f1..6d77495 100644 --- a/common/cmd_onenand.c +++ b/common/cmd_onenand.c @@ -319,6 +319,8 @@ static int onenand_dump(struct mtd_info *mtd, ulong off, int only_oob) } puts("OOB:\n"); i = mtd->oobsize >> 3; + p = oobbuf; + while (i--) { printf("\t%02x %02x %02x %02x %02x %02x %02x %02x\n", p[0], p[1], p[2], p[3], p[4], p[5], p[6], p[7]);

On Thu, Dec 02, 2010 at 04:53:30AM -0000, Lei Wen wrote:
Seems original implementation forget to set the pointer to point to the oobbuf, so when we want to see oob buf, we see nothing... Fix it by get pointer as the oobbuf set.
Signed-off-by: Lei Wen leiwen@marvell.com
common/cmd_onenand.c | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/common/cmd_onenand.c b/common/cmd_onenand.c index 33108f1..6d77495 100644 --- a/common/cmd_onenand.c +++ b/common/cmd_onenand.c @@ -319,6 +319,8 @@ static int onenand_dump(struct mtd_info *mtd, ulong off, int only_oob) } puts("OOB:\n"); i = mtd->oobsize >> 3;
- p = oobbuf;
- while (i--) { printf("\t%02x %02x %02x %02x %02x %02x %02x %02x\n", p[0], p[1], p[2], p[3], p[4], p[5], p[6], p[7]);
Earlier in the function there's a comment saying: ops.oobbuf = oobbuf; /* must exist, but oob data will be appended to ops.databuf */
Is this no longer accurate (I hope so, since that's awful)? If so, let's remove the comment.
-Scott

Hi Scott,
On Tue, Dec 7, 2010 at 8:23 AM, Scott Wood scottwood@freescale.com wrote:
On Thu, Dec 02, 2010 at 04:53:30AM -0000, Lei Wen wrote:
Seems original implementation forget to set the pointer to point to the oobbuf, so when we want to see oob buf, we see nothing... Fix it by get pointer as the oobbuf set.
Signed-off-by: Lei Wen leiwen@marvell.com
common/cmd_onenand.c | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/common/cmd_onenand.c b/common/cmd_onenand.c index 33108f1..6d77495 100644 --- a/common/cmd_onenand.c +++ b/common/cmd_onenand.c @@ -319,6 +319,8 @@ static int onenand_dump(struct mtd_info *mtd, ulong off, int only_oob) } puts("OOB:\n"); i = mtd->oobsize >> 3;
- p = oobbuf;
while (i--) { printf("\t%02x %02x %02x %02x %02x %02x %02x %02x\n", p[0], p[1], p[2], p[3], p[4], p[5], p[6], p[7]);
Earlier in the function there's a comment saying: ops.oobbuf = oobbuf; /* must exist, but oob data will be appended to ops.databuf */
Is this no longer accurate (I hope so, since that's awful)? If so, let's remove the comment.
Seem this comment should be removed... For in onenand_read_ops_nolock, we transfer the oob data to the oobbuf pass from the onenand dump function call in cmd_onenand.
I would send the updated patch later.
Best regards, Lei

Seems original implementation forget to set the pointer to point to the oobbuf, so when we want to see oob buf, we see nothing... Fix it by get pointer as the oobbuf set.
Signed-off-by: Lei Wen leiwen@marvell.com --- Changelog: V1: Initial patch V2: remove the comment of oob data appended to datbuf
common/cmd_onenand.c | 4 +++- 1 files changed, 3 insertions(+), 1 deletions(-)
diff --git a/common/cmd_onenand.c b/common/cmd_onenand.c index a59ab79..0434e19 100644 --- a/common/cmd_onenand.c +++ b/common/cmd_onenand.c @@ -294,7 +294,7 @@ static int onenand_dump(struct mtd_info *mtd, ulong off, int only_oob) addr = (loff_t) off; memset(&ops, 0, sizeof(ops)); ops.datbuf = datbuf; - ops.oobbuf = oobbuf; /* must exist, but oob data will be appended to ops.datbuf */ + ops.oobbuf = oobbuf; ops.len = mtd->writesize; ops.ooblen = mtd->oobsize; ops.retlen = 0; @@ -320,6 +320,8 @@ static int onenand_dump(struct mtd_info *mtd, ulong off, int only_oob) } puts("OOB:\n"); i = mtd->oobsize >> 3; + p = oobbuf; + while (i--) { printf("\t%02x %02x %02x %02x %02x %02x %02x %02x\n", p[0], p[1], p[2], p[3], p[4], p[5], p[6], p[7]);

On Tue, Dec 07, 2010 at 09:38:18AM +0800, Lei Wen wrote:
Seems original implementation forget to set the pointer to point to the oobbuf, so when we want to see oob buf, we see nothing... Fix it by get pointer as the oobbuf set.
Signed-off-by: Lei Wen leiwen@marvell.com
Changelog: V1: Initial patch V2: remove the comment of oob data appended to datbuf
Applied to u-boot-nand-flash
-Scott
participants (3)
-
Lei Wen
-
Lei Wen
-
Scott Wood