mmc: avoid division by zero in meson_mmc_config_clock
authorHeinrich Schuchardt <xypron.glpk@gmx.de>
Sat, 17 Mar 2018 11:44:11 +0000 (12:44 +0100)
committerVagrant Cascadian <vagrant@debian.org>
Mon, 2 Apr 2018 01:20:06 +0000 (02:20 +0100)
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>
Gbp-Pq: Topic odroid-c2
Gbp-Pq: Name 0001-mmc-avoid-division-by-zero-in-meson_mmc_config_clock.patch

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;