]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
imx: spl_imx_romapi: fix emmc fast boot mode case
authorMarcel Ziswiler <marcel.ziswiler@toradex.com>
Thu, 26 Oct 2023 07:32:20 +0000 (09:32 +0200)
committerTom Rini <trini@konsulko.com>
Fri, 17 Nov 2023 16:58:26 +0000 (11:58 -0500)
This fixes a regression in the eMMC fast boot mode case where the buffer
was missing 464 bytes.

The code figures out how many bytes must at least be fetched to honor
the current read, rounds that up to the ss->pagesize [which is a no-op
in the USB download case because that has ->pagesize==1], fetches that
many bytes, but then recorded the original upper bound as the new end of
the valid data. However, this did not take into account the rounding up
to the ss->pagesize. Fix this by recording the actual bytes downloaded.

Fixes: 4b4472438f5a ("imx: spl_imx_romapi: avoid tricky use of spl_load_simple_fit() to get full FIT size")
Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Acked-by: Rasmus Villemoes <rasmus.villemoes@prevas.dk>
Reviewed-by: Fabio Estevam <festevam@gmail.com>
arch/arm/mach-imx/spl_imx_romapi.c

index cb220869b502fa89476b43f9cff8fd0ce2dddc98..5eb5a3d3c4a03318d5f10566281616d9d29acd86 100644 (file)
@@ -162,7 +162,7 @@ static ulong spl_romapi_read_stream(struct spl_load_info *load, ulong sector,
                        return 0;
                }
 
-               ss->end = end;
+               ss->end += bytes;
        }
 
        memcpy(buf, (void *)(sector), count);