From 788f1d2da54d511f05766039e4d822947d7094fd Mon Sep 17 00:00:00 2001 From: Philip Rakity Date: Thu, 26 Jan 2012 06:57:10 -0800 Subject: [PATCH] --- yaml --- r: 287623 b: refs/heads/master c: 2d0d68f583279dbdcc1a2ef3f81ea8d285a0adbe h: refs/heads/master i: 287621: 422431744c667304b6fee73bd9395aa3d244d758 287619: 8b42464b2abf7a8bb5792d6593fcc27c719eaf1b 287615: 98f07afcaf1e6c3144ca2c7c43450a2405afea39 v: v3 --- [refs] | 2 +- trunk/drivers/mmc/core/sdio.c | 7 ++++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/[refs] b/[refs] index 4281adcd3288..f3719a8cf8cf 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: ba8c4dc99808b1de809a0eda71a32f26efdafd92 +refs/heads/master: 2d0d68f583279dbdcc1a2ef3f81ea8d285a0adbe diff --git a/trunk/drivers/mmc/core/sdio.c b/trunk/drivers/mmc/core/sdio.c index bd7bacc950dc..12cde6ee17f5 100644 --- a/trunk/drivers/mmc/core/sdio.c +++ b/trunk/drivers/mmc/core/sdio.c @@ -98,10 +98,11 @@ static int sdio_init_func(struct mmc_card *card, unsigned int fn) return ret; } -static int sdio_read_cccr(struct mmc_card *card) +static int sdio_read_cccr(struct mmc_card *card, u32 ocr) { int ret; int cccr_vsn; + int uhs = ocr & R4_18V_PRESENT; unsigned char data; unsigned char speed; @@ -149,7 +150,7 @@ static int sdio_read_cccr(struct mmc_card *card) card->scr.sda_spec3 = 0; card->sw_caps.sd3_bus_mode = 0; card->sw_caps.sd3_drv_type = 0; - if (cccr_vsn >= SDIO_CCCR_REV_3_00) { + if (cccr_vsn >= SDIO_CCCR_REV_3_00 && uhs) { card->scr.sda_spec3 = 1; ret = mmc_io_rw_direct(card, 0, 0, SDIO_CCCR_UHS, 0, &data); @@ -712,7 +713,7 @@ static int mmc_sdio_init_card(struct mmc_host *host, u32 ocr, /* * Read the common registers. */ - err = sdio_read_cccr(card); + err = sdio_read_cccr(card, ocr); if (err) goto remove;