diff --git a/drivers/mmc/mmc.c b/drivers/mmc/mmc.c index 3daa74882265ef356453b0ba086f4bc3c2f519c7..43ea0bba763e4168fbef8f80a40cfa23e76f3e70 100644 --- a/drivers/mmc/mmc.c +++ b/drivers/mmc/mmc.c @@ -422,6 +422,9 @@ static int mmc_complete_op_cond(struct mmc *mmc) mmc->op_cond_pending = 0; if (!(mmc->ocr & OCR_BUSY)) { + /* Some cards seem to need this */ + mmc_go_idle(mmc); + start = get_timer(0); while (1) { err = mmc_send_op_cond_iter(mmc, 1);