summaryrefslogtreecommitdiffstats
path: root/drivers/mmc
diff options
context:
space:
mode:
authorGirish K S <girish.shivananjappa@linaro.org>2012-01-19 08:56:19 +0530
committerChris Ball <cjb@laptop.org>2012-02-13 20:39:00 -0500
commit7488e924b55002e70f6d8d181f146edac3006b9f (patch)
tree597770e1d26d080fa7066612ce95530ef99616b9 /drivers/mmc
parent147c3b338d1029b6624b7dbe7f7bb98f14236f3b (diff)
downloadlinux-stable-7488e924b55002e70f6d8d181f146edac3006b9f.tar.gz
linux-stable-7488e924b55002e70f6d8d181f146edac3006b9f.tar.bz2
linux-stable-7488e924b55002e70f6d8d181f146edac3006b9f.zip
mmc: core: Fix low speed mmc card detection failure
This patch fixes the failure of low speed mmc card detection. Signed-off-by: Girish K S <girish.shivananjappa@linaro.org> Signed-off-by: Chris Ball <cjb@laptop.org>
Diffstat (limited to 'drivers/mmc')
-rw-r--r--drivers/mmc/core/mmc.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/mmc/core/mmc.c b/drivers/mmc/core/mmc.c
index 59b9ba52e66a..dd3fcac684a3 100644
--- a/drivers/mmc/core/mmc.c
+++ b/drivers/mmc/core/mmc.c
@@ -1006,7 +1006,8 @@ static int mmc_init_card(struct mmc_host *host, u32 ocr,
err = mmc_select_hs200(card);
else if (host->caps & MMC_CAP_MMC_HIGHSPEED)
err = mmc_switch(card, EXT_CSD_CMD_SET_NORMAL,
- EXT_CSD_HS_TIMING, 1, 0);
+ EXT_CSD_HS_TIMING, 1,
+ card->ext_csd.generic_cmd6_time);
if (err && err != -EBADMSG)
goto free_card;
@@ -1116,7 +1117,7 @@ static int mmc_init_card(struct mmc_host *host, u32 ocr,
* Activate wide bus and DDR (if supported).
*/
if (!mmc_card_hs200(card) &&
- (card->csd.mmca_vsn >= CSD_SPEC_VER_3) &&
+ (card->csd.mmca_vsn >= CSD_SPEC_VER_4) &&
(host->caps & (MMC_CAP_4_BIT_DATA | MMC_CAP_8_BIT_DATA))) {
static unsigned ext_csd_bits[][2] = {
{ EXT_CSD_BUS_WIDTH_8, EXT_CSD_DDR_BUS_WIDTH_8 },