summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStephan Gerhold <stephan@gerhold.net>2021-08-03 12:12:37 +0200
committerTom Rini <trini@konsulko.com>2021-09-02 09:48:20 -0400
commit1eb006249e2fe84e889a89154d71a9cb0093eed8 (patch)
treec2e5bd81d482586cb0ddf7afdbb0d6ec61a3b1b4
parentcd82f199852d88218e1f17f5ec07cdd9112a89c4 (diff)
downloadu-boot-1eb006249e2fe84e889a89154d71a9cb0093eed8.tar.gz
arm: mach-snapdragon: misc: Initialize eMMC if necessary
At the moment U-Boot produces an empty MAC address (02:00:00:00:00:00) if the eMMC is not used by anything in U-Boot (e.g. with CONFIG_ENV_IS_NOWHERE=y instead of having the environment on eMMC). This happens because then there is nothing that actually initializes the eMMC and reads the "cid" that is later accessed. To fix this, call mmc_init() to ensure the eMMC is initialized. There is no functional difference if the eMMC is already initialized since then mmc_init() will just return without doing anything. Reviewed-by: Ramon Fried <rfried.dev@gmail.com> Signed-off-by: Stephan Gerhold <stephan@gerhold.net>
-rw-r--r--arch/arm/mach-snapdragon/misc.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/arm/mach-snapdragon/misc.c b/arch/arm/mach-snapdragon/misc.c
index 985625a548..fbd5f4d051 100644
--- a/arch/arm/mach-snapdragon/misc.c
+++ b/arch/arm/mach-snapdragon/misc.c
@@ -33,6 +33,9 @@ u32 msm_board_serial(void)
if (!mmc_dev)
return 0;
+ if (mmc_init(mmc_dev))
+ return 0;
+
return UNSTUFF_BITS(mmc_dev->cid, 16, 32);
}