mirror of
https://github.com/Fishwaldo/u-boot.git
synced 2025-03-17 12:41:32 +00:00
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>
This commit is contained in:
parent
7b1cfec317
commit
26862b4a40
3 changed files with 8 additions and 0 deletions
3
env/ext4.c
vendored
3
env/ext4.c
vendored
|
@ -87,6 +87,9 @@ static int env_ext4_load(void)
|
||||||
int err;
|
int err;
|
||||||
loff_t off;
|
loff_t off;
|
||||||
|
|
||||||
|
if (!strcmp(CONFIG_ENV_EXT4_INTERFACE, "mmc"))
|
||||||
|
mmc_initialize(NULL);
|
||||||
|
|
||||||
part = blk_get_device_part_str(CONFIG_ENV_EXT4_INTERFACE,
|
part = blk_get_device_part_str(CONFIG_ENV_EXT4_INTERFACE,
|
||||||
CONFIG_ENV_EXT4_DEVICE_AND_PART,
|
CONFIG_ENV_EXT4_DEVICE_AND_PART,
|
||||||
&dev_desc, &info, 1);
|
&dev_desc, &info, 1);
|
||||||
|
|
3
env/fat.c
vendored
3
env/fat.c
vendored
|
@ -89,6 +89,9 @@ static int env_fat_load(void)
|
||||||
int dev, part;
|
int dev, part;
|
||||||
int err;
|
int err;
|
||||||
|
|
||||||
|
if (!strcmp(CONFIG_ENV_FAT_INTERFACE, "mmc"))
|
||||||
|
mmc_initialize(NULL);
|
||||||
|
|
||||||
part = blk_get_device_part_str(CONFIG_ENV_FAT_INTERFACE,
|
part = blk_get_device_part_str(CONFIG_ENV_FAT_INTERFACE,
|
||||||
CONFIG_ENV_FAT_DEVICE_AND_PART,
|
CONFIG_ENV_FAT_DEVICE_AND_PART,
|
||||||
&dev_desc, &info, 1);
|
&dev_desc, &info, 1);
|
||||||
|
|
2
env/mmc.c
vendored
2
env/mmc.c
vendored
|
@ -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_env1, 1);
|
||||||
ALLOC_CACHE_ALIGN_BUFFER(env_t, tmp_env2, 1);
|
ALLOC_CACHE_ALIGN_BUFFER(env_t, tmp_env2, 1);
|
||||||
|
|
||||||
|
mmc_initialize(NULL);
|
||||||
|
|
||||||
mmc = find_mmc_device(dev);
|
mmc = find_mmc_device(dev);
|
||||||
|
|
||||||
errmsg = init_mmc_for_env(mmc);
|
errmsg = init_mmc_for_env(mmc);
|
||||||
|
|
Loading…
Add table
Reference in a new issue