From: Anatolij Gustschin Date: Thu, 23 Apr 2020 11:07:49 +0000 (+0200) Subject: imx: spl: return boot mode for asked MMC device in spl_mmc_boot_mode() X-Git-Tag: v2020.07-rc2~15^2~8 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=a15d0aa680d2aacbe708d8d87ca2ac5b3b22a893;p=oweals%2Fu-boot.git imx: spl: return boot mode for asked MMC device in spl_mmc_boot_mode() Boards may extend or re-define the boot list in their board_boot_order() function by modifying spl_boot_list. E.g. a board might boot SPL from a slow SPI NOR flash and then load the U-Boot from an eMMC or SD-card. Or it might use additional MMC boot device in spl_boot_list for cases when the image in SPI NOR flash is not found, so it could fall back to eMMC, SD-card or another boot device. Getting the MMC boot mode in spl_mmc will fail when we are trying to boot from an MMC device in the spl_boot_list and the original board boot mode (as returned by spl_boot_device()) is not an MMC boot mode. Fix it by checking the asked MMC boot device from the spl_mmc_boot_mode() argument. Signed-off-by: Anatolij Gustschin --- diff --git a/arch/arm/mach-imx/spl.c b/arch/arm/mach-imx/spl.c index 49bb3b928d..e5835150a0 100644 --- a/arch/arm/mach-imx/spl.c +++ b/arch/arm/mach-imx/spl.c @@ -229,7 +229,7 @@ u32 spl_mmc_boot_mode(const u32 boot_device) #ifdef CONFIG_SPL_FORCE_MMC_BOOT switch (boot_device) { #else - switch (spl_boot_device()) { + switch (boot_device) { #endif /* for MMC return either RAW or FAT mode */ case BOOT_DEVICE_MMC1: