mmc: avoid division by zero in meson_mmc_config_clock
authorHeinrich Schuchardt <xypron.glpk@gmx.de>
Sat, 17 Mar 2018 22:49:36 +0000 (22:49 +0000)
committerTom Rini <trini@konsulko.com>
Mon, 23 Apr 2018 14:49:58 +0000 (10:49 -0400)
The Odroid C2 fails to read from mmc with U-Boot v2018.03.
The change avoids a division by zero.

The fix was suggested by Jaehoon in
https://lists.denx.de/pipermail/u-boot/2018-January/318577.html

Reported-by: Vagrant Cascadian <vagrant@debian.org>
Suggested-by: Jaehoon Chung <jh80.chung@samsung.com>
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Tested-by: Vagrant Cascadian <vagrant@debian.org>
drivers/mmc/meson_gx_mmc.c

index a2cd5d3a446b6c9b82523a93b4ff29bb07257893..454593eec43d0ce13e0dc530be807df33885def4 100644 (file)
@@ -35,6 +35,9 @@ static void meson_mmc_config_clock(struct mmc *mmc)
        uint32_t meson_mmc_clk = 0;
        unsigned int clk, clk_src, clk_div;
 
+       if (!mmc->clock)
+               return;
+
        /* 1GHz / CLK_MAX_DIV = 15,9 MHz */
        if (mmc->clock > 16000000) {
                clk = SD_EMMC_CLKSRC_DIV2;