Add mmc_init() in the mmc preinit phrase to get the device's
information. Otherwise, if the environment variables are from
the mmc device, it will fail with "** Bad device size - mmc 1 **".

Signed-off-by: Wenyou Yang <wenyou.y...@atmel.com>
---

Changes in v2:
 - Add the bracket for #if defined.

 drivers/mmc/mmc-uclass.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/drivers/mmc/mmc-uclass.c b/drivers/mmc/mmc-uclass.c
index 425abb1..61dd3be 100644
--- a/drivers/mmc/mmc-uclass.c
+++ b/drivers/mmc/mmc-uclass.c
@@ -152,11 +152,15 @@ void mmc_do_preinit(void)
 
                if (!m)
                        continue;
-#ifdef CONFIG_FSL_ESDHC_ADAPTER_IDENT
+#if defined(CONFIG_FSL_ESDHC_ADAPTER_IDENT) || defined(CONFIG_ATMEL_SDHCI)
                mmc_set_preinit(m, 1);
 #endif
-               if (m->preinit)
+               if (m->preinit) {
                        mmc_start_init(m);
+
+                       mmc_init(m);
+               }
+
        }
 }
 
-- 
2.7.4

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

Reply via email to