diff options
author | Faiz Abbas <faiz_abbas@ti.com> | 2018-02-12 19:24:31 +0530 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2018-02-20 08:21:30 -0500 |
commit | 26862b4a40c31b59618f7776ca06f0ed453cc380 (patch) | |
tree | cfae2a18a52f6b549972724f07cf27b5ef1dc13a /env | |
parent | 7b1cfec31764cd9247ee3cdaf5b7caa804741344 (diff) | |
download | u-boot-26862b4a40c31b59618f7776ca06f0ed453cc380.tar.gz u-boot-26862b4a40c31b59618f7776ca06f0ed453cc380.tar.bz2 u-boot-26862b4a40c31b59618f7776ca06f0ed453cc380.zip |
env: mmc/fat/ext4: make sure that the MMC sub-system is initialized before using it
When booting from a non-MMC device, the MMC sub-system may not be
initialized when the environment is first accessed.
We need to make sure that the MMC sub-system is ready in even a non-MMC
boot case.
Therefore, initialize mmc before loading environment from it.
Signed-off-by: Faiz Abbas <faiz_abbas@ti.com>
Diffstat (limited to 'env')
-rw-r--r-- | env/ext4.c | 3 | ||||
-rw-r--r-- | env/fat.c | 3 | ||||
-rw-r--r-- | env/mmc.c | 2 |
3 files changed, 8 insertions, 0 deletions
diff --git a/env/ext4.c b/env/ext4.c index 3f3aac5737..6c69a0a57f 100644 --- a/env/ext4.c +++ b/env/ext4.c @@ -87,6 +87,9 @@ static int env_ext4_load(void) int err; loff_t off; + if (!strcmp(CONFIG_ENV_EXT4_INTERFACE, "mmc")) + mmc_initialize(NULL); + part = blk_get_device_part_str(CONFIG_ENV_EXT4_INTERFACE, CONFIG_ENV_EXT4_DEVICE_AND_PART, &dev_desc, &info, 1); @@ -89,6 +89,9 @@ static int env_fat_load(void) int dev, part; int err; + if (!strcmp(CONFIG_ENV_FAT_INTERFACE, "mmc")) + mmc_initialize(NULL); + part = blk_get_device_part_str(CONFIG_ENV_FAT_INTERFACE, CONFIG_ENV_FAT_DEVICE_AND_PART, &dev_desc, &info, 1); @@ -273,6 +273,8 @@ static int env_mmc_load(void) ALLOC_CACHE_ALIGN_BUFFER(env_t, tmp_env1, 1); ALLOC_CACHE_ALIGN_BUFFER(env_t, tmp_env2, 1); + mmc_initialize(NULL); + mmc = find_mmc_device(dev); errmsg = init_mmc_for_env(mmc); |