From: Diego Santa Cruz Date: Tue, 23 Dec 2014 09:50:28 +0000 (+0100) Subject: mmc: the ext_csd data may be used during init even if reading failed X-Git-Tag: v2015.04-rc1~69^2~7 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=9cf199ebcff13f8d98b31ab48e3bcce37ed8925d;p=u-boot mmc: the ext_csd data may be used during init even if reading failed The mmc_startup() function uses the ext_csd data even if reading it from the mmc device failed. This bug was introduced in commit bc897b1d4d86597311430dbe7b3e6c807c8c53e5. We now bail out if reading it fails, this should not be a problem as ext_csd was introduced in MMC 4.0 and this code is conditional on MMC >= 4.0. Signed-off-by: Diego Santa Cruz --- diff --git a/drivers/mmc/mmc.c b/drivers/mmc/mmc.c index 403843b104..63a1e0c6fa 100644 --- a/drivers/mmc/mmc.c +++ b/drivers/mmc/mmc.c @@ -972,7 +972,9 @@ static int mmc_startup(struct mmc *mmc) if (!IS_SD(mmc) && (mmc->version >= MMC_VERSION_4)) { /* check ext_csd version and capacity */ err = mmc_send_ext_csd(mmc, ext_csd); - if (!err && (ext_csd[EXT_CSD_REV] >= 2)) { + if (err) + return err; + if (ext_csd[EXT_CSD_REV] >= 2) { /* * According to the JEDEC Standard, the value of * ext_csd's capacity is valid if the value is more