If the logbuffer contains LOGBUFF_LEN chars, they never got printed with the "log show" command, because chars get printed with the following for loop:
for (i = 0; i < (size & LOGBUFF_MASK); i++) { with size = LOGBUFF_LEN and LOGBUFF_MASK = (LOGBUFF_LEN-1) for loop never executed ... Fix this. Signed-off-by: Heiko Schocher <h...@denx.de> --- common/cmd_log.c | 4 +++- 1 files changed, 3 insertions(+), 1 deletions(-) diff --git a/common/cmd_log.c b/common/cmd_log.c index ff5924c..b98a091 100644 --- a/common/cmd_log.c +++ b/common/cmd_log.c @@ -220,7 +220,9 @@ int do_log(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) start = log->v1.start; size = log->v1.size; } - for (i = 0; i < (size & LOGBUFF_MASK); i++) { + if (size > LOGBUFF_LEN) + size = LOGBUFF_LEN; + for (i = 0; i < size; i++) { s = lbuf + ((start + i) & LOGBUFF_MASK); putc(*s); } -- 1.7.7.6 _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot