aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/mmc/core/core.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/mmc/core/core.c')
-rw-r--r--drivers/mmc/core/core.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/drivers/mmc/core/core.c b/drivers/mmc/core/core.c
index 07b2f086213f..910aa254f23a 100644
--- a/drivers/mmc/core/core.c
+++ b/drivers/mmc/core/core.c
@@ -2476,15 +2476,20 @@ static int mmc_rescan_try_freq(struct mmc_host *host, unsigned freq)
2476 * sdio_reset sends CMD52 to reset card. Since we do not know 2476 * sdio_reset sends CMD52 to reset card. Since we do not know
2477 * if the card is being re-initialized, just send it. CMD52 2477 * if the card is being re-initialized, just send it. CMD52
2478 * should be ignored by SD/eMMC cards. 2478 * should be ignored by SD/eMMC cards.
2479 * Skip it if we already know that we do not support SDIO commands
2479 */ 2480 */
2480 sdio_reset(host); 2481 if (!(host->caps2 & MMC_CAP2_NO_SDIO))
2482 sdio_reset(host);
2483
2481 mmc_go_idle(host); 2484 mmc_go_idle(host);
2482 2485
2483 mmc_send_if_cond(host, host->ocr_avail); 2486 mmc_send_if_cond(host, host->ocr_avail);
2484 2487
2485 /* Order's important: probe SDIO, then SD, then MMC */ 2488 /* Order's important: probe SDIO, then SD, then MMC */
2486 if (!mmc_attach_sdio(host)) 2489 if (!(host->caps2 & MMC_CAP2_NO_SDIO))
2487 return 0; 2490 if (!mmc_attach_sdio(host))
2491 return 0;
2492
2488 if (!mmc_attach_sd(host)) 2493 if (!mmc_attach_sd(host))
2489 return 0; 2494 return 0;
2490 if (!mmc_attach_mmc(host)) 2495 if (!mmc_attach_mmc(host))