On Thu, Nov 25, 2021 at 11:08:59AM +0800, Artem Lapkin wrote:
> Problem
>
> Wrong implementation logic: ramdisk cmdline image address always ignored!
> Next block { rd_addr = hextoul(select, NULL) } unusable for raw initrd.
>
> We have unbootable raw initrd images because, select_ramdisk for raw
> initrd images ignore submited select addr and setup rd_datap value to 0
>
> Signed-off-by: Artem Lapkin <[email protected]>
> Reviewed-by: Simon Glass <[email protected]>
> ---
> V2 changes
> _ rebase to master
> _ from
> https://patchwork.ozlabs.org/project/uboot/patch/[email protected]/
> ---
> boot/image-board.c | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/boot/image-board.c b/boot/image-board.c
> index bf8817165c..87a8f07432 100644
> --- a/boot/image-board.c
> +++ b/boot/image-board.c
> @@ -334,7 +334,7 @@ static int select_ramdisk(bootm_headers_t *images, const
> char *select, u8 arch,
>
> if (select) {
> ulong default_addr;
> - bool done = true;
> + bool done = false;
>
> if (CONFIG_IS_ENABLED(FIT)) {
> /*
> @@ -352,13 +352,13 @@ static int select_ramdisk(bootm_headers_t *images,
> const char *select, u8 arch,
> &fit_uname_config)) {
> debug("* ramdisk: config '%s' from image at
> 0x%08lx\n",
> fit_uname_config, rd_addr);
> + done = true;
> } else if (fit_parse_subimage(select, default_addr,
> &rd_addr,
> &fit_uname_ramdisk)) {
> debug("* ramdisk: subimage '%s' from image at
> 0x%08lx\n",
> fit_uname_ramdisk, rd_addr);
> - } else {
> - done = false;
> + done = true;
> }
> }
> if (!done) {I think we still need this? Can you please confirm and if so rebase to master again, sorry, thanks! -- Tom
signature.asc
Description: PGP signature

