
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()").
Fixes: 2b1cdafa9fdd ("common: Pass the boot device into spl_boot_mode()") Signed-off-by: Harald Seiler hws@denx.de ---
Changes for v2: - Rebase ontop of master to fix a merge-conflict (no functional change)
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 5cc74b6f9b0f..26d07d1bf283 100644 --- a/arch/arm/mach-imx/spl.c +++ b/arch/arm/mach-imx/spl.c @@ -190,7 +190,7 @@ int g_dnl_bind_fixup(struct usb_device_descriptor *dev, const char *name) u32 spl_boot_mode(const u32 boot_device) { #if defined(CONFIG_MX7) || defined(CONFIG_IMX8M) || defined(CONFIG_IMX8) - switch (get_boot_device()) { + switch (boot_device) { /* for MMC return either RAW or FAT mode */ case SD1_BOOT: case SD2_BOOT: