cmd_nand.c: Fix 'nand dump' after latest MTD resync
PATCH 1/1 cmd_nand.c: Fix 'nand dump' after latest MTD resync
With 2a8e0fc nand_do_read_ops changed in behavior slightly (keeping in sync with the kernel which did this change in b64d39d8) such that the OOB data is always copied into oobbuf and never appended to datbuf. Within U-Boot only the nand_dump function (for the dump nand subcommand) was expecting the OOB data to only be appended to datbuf. So we now change nand_dump to not malloc extra space, correct the comment about datbuf and OOB data and switch the pointer to oobbuf before printing.
--- common/cmd_nand.c | 5 +++-- 1 files changed, 3 insertions(+), 2 deletions(-)
common/cmd_nand.c +3 -2
@@ -48,7 +48,7 @@ static int nand_dump(nand_info_t *nand, ulong off, int only_oob, int repeat) last = off; - datbuf =malloc (nand->writesize + nand->oobsize); + datbuf =malloc (nand->writesize); oobbuf =malloc (nand->oobsize);if (!datbuf || !oobbuf) {puts ("No memory for page buffer\n" );
@@ -59,7 +59,7 @@ static int nand_dump(nand_info_t *nand, ulong off, int only_oob, int repeat)struct mtd_oob_ops ops;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 = nand->writesize; ops.ooblen = nand->oobsize; ops.mode =MTD_OOB_RAW ;
@@ -85,6 +85,7 @@ static int nand_dump(nand_info_t *nand, ulong off, int only_oob, int repeat) }puts ("OOB:\n" ); i = nand->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 ]);
Signature · 1 line
1.7.5.4
PATCH 1/1 cmd_nand.c: Fix 'nand dump' after latest MTD resync
Quoted 7 lines · Tom Rini
With 2a8e0fc
nand_do_read_opschanged in behavior slightly (keeping in sync with the kernel which did this change inb64d39d8) such that the OOB data is always copied into oobbuf and never appended to datbuf. ?Within U-Boot only thenand_dumpfunction (for the dump nand subcommand) was expecting the OOB data to only be appended to datbuf. ?So we now changenand_dumpto not malloc extra space, correct the comment about datbuf and OOB data and switch the pointer to oobbuf before printing.
bah, sorry for the dupe, git send-email lied.
Signature · 1 line
Tom
PATCH 1/1 cmd_nand.c: Fix 'nand dump' after latest MTD resync
In reply to Tom RiniQuoted 8 lines · Tom Rini
With 2a8e0fc
nand_do_read_opschanged in behavior slightly (keeping in sync with the kernel which did this change inb64d39d8) such that the OOB data is always copied into oobbuf and never appended to datbuf. Within U-Boot only thenand_dumpfunction (for the dump nand subcommand) was expecting the OOB data to only be appended to datbuf. So we now changenand_dumpto not malloc extra space, correct the comment about datbuf and OOB data and switch the pointer to oobbuf before printing.
Quoted 5 lines
Cc Scott Wood <[email protected]>Signed-off-by Tom Rini <[email protected]>--- common/cmd_nand.c | 5 +++-- 1 files changed, 3 insertions(+), 2 deletions(-)
Applied to u-boot-nand-flash
-Scott