If a board defines a custom boot order using board_boot_order(), the
boot-device which is currently attempted might differ from the return
value of spl_boot_device().  Use the given boot_device parameter instead
of calling spl_boot_device() to prevent an incorrect "unsupported
device" error.

Supporting this use-case was the original intention for the boot_device
parameter, which was introduced in commit 2b1cdafa9fdd ("common: Pass the
boot device into spl_boot_mode()").

Signed-off-by: Harald Seiler <h...@denx.de>
---
 arch/arm/mach-imx/spl.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm/mach-imx/spl.c b/arch/arm/mach-imx/spl.c
index 1f230aca3397..d50d8e08a61c 100644
--- a/arch/arm/mach-imx/spl.c
+++ b/arch/arm/mach-imx/spl.c
@@ -178,7 +178,7 @@ int g_dnl_bind_fixup(struct usb_device_descriptor *dev, 
const char *name)
 /* called from spl_mmc to see type of boot mode for storage (RAW or FAT) */
 u32 spl_boot_mode(const u32 boot_device)
 {
-       switch (spl_boot_device()) {
+       switch (boot_device) {
        /* for MMC return either RAW or FAT mode */
        case BOOT_DEVICE_MMC1:
        case BOOT_DEVICE_MMC2:
-- 
2.20.1

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot

Reply via email to