Commit f52352f6 authored by Matwey V. Kornilov's avatar Matwey V. Kornilov Committed by Tom Rini
Browse files

display_options: Do not use %llu in print_size



tiny-printf variant doesn't know how to handle %llu format string, but both
tiny-printf and print_size can meet in SPL when TFTP is used to obtain main
u-boot image. This is known to lead to critical boot issue at AM335x platform
when printf is catched in infinite loop.

To avoid such issues and make print_size function tiny-printf friendly, use %u
instead of %luu. Note, that the size value is guaranteed to be less than 1024
in this conditional branch, so the cast to unsigned int is safe.
Signed-off-by: default avatarMatwey V. Kornilov <matwey.kornilov@gmail.com>
Reviewed-by: Simon Glass's avatarSimon Glass <sjg@chromium.org>
parent c091f652
......@@ -107,7 +107,12 @@ void print_size(uint64_t size, const char *s)
}
if (!c) {
printf("%llu Bytes%s", size, s);
/*
* SPL tiny-printf is not capable for printing uint64_t.
* We have just checked that the size is small enought to fit
* unsigned int safely.
*/
printf("%u Bytes%s", (unsigned int)size, s);
return;
}
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment