]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
arm: mach-snapdragon: misc: Initialize eMMC if necessary
authorStephan Gerhold <stephan@gerhold.net>
Tue, 3 Aug 2021 10:12:37 +0000 (12:12 +0200)
committerTom Rini <trini@konsulko.com>
Thu, 2 Sep 2021 13:48:20 +0000 (09:48 -0400)
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>
arch/arm/mach-snapdragon/misc.c

index 985625a548e78ed4916e544bc2b551503f32c5ef..fbd5f4d051bc23901b1032b76d4e0f63d8c01911 100644 (file)
@@ -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);
 }