spl: spl_legacy: Fix NAND boot on OMAP3 BeagleBoard

OMAP3 BeagleBoard NAND boot hangs when spl_load_legacy_img() tries
to read the header into 'struct hdr' which is allocated on the
stack.

As the header has already been read once before by spl_nand.c,
we can avoid the extra header allocation and read here by
simply passing around the pointer to the header.

This fixes NAND boot on OMAP3 BeagleBoard.

Signed-off-by: Roger Quadros <rogerq@kernel.org>
Reviewed-By: Michael Trimarchi <michael@amarulasolutions.com>
This commit is contained in:
Roger Quadros 2022-09-29 13:11:28 +03:00 committed by Tom Rini
parent 0abe3323f5
commit 06377c5a1f
4 changed files with 19 additions and 15 deletions

View file

@ -353,7 +353,8 @@ int spl_load_simple_fit(struct spl_image_info *spl_image,
* spl_load_legacy_img() - Loads a legacy image from a device.
* @spl_image: Image description to set up
* @load: Structure containing the information required to load data.
* @header: Pointer to image header (including appended image)
* @offset: Pointer to image
* @hdr: Pointer to image header
*
* Reads an legacy image from the device. Loads u-boot image to
* specified load address.
@ -361,7 +362,9 @@ int spl_load_simple_fit(struct spl_image_info *spl_image,
*/
int spl_load_legacy_img(struct spl_image_info *spl_image,
struct spl_boot_device *bootdev,
struct spl_load_info *load, ulong header);
struct spl_load_info *load, ulong offset,
struct legacy_img_hdr *hdr);
/**
* spl_load_imx_container() - Loads a imx container image from a device.