Commit 0eb51a58 authored by Shawn Lin's avatar Shawn Lin Committed by Ulf Hansson

mmc: sdio: Factor out retry init card helper function

Add new helper function, mmc_sdio_resend_if_cond, to be
reused when trying to retry the init sequence.
Signed-off-by: default avatarShawn Lin <shawn.lin@rock-chips.com>
Signed-off-by: default avatarUlf Hansson <ulf.hansson@linaro.org>
parent 63928d47
...@@ -541,6 +541,15 @@ static int mmc_sdio_init_uhs_card(struct mmc_card *card) ...@@ -541,6 +541,15 @@ static int mmc_sdio_init_uhs_card(struct mmc_card *card)
return err; return err;
} }
static void mmc_sdio_resend_if_cond(struct mmc_host *host,
struct mmc_card *card)
{
sdio_reset(host);
mmc_go_idle(host);
mmc_send_if_cond(host, host->ocr_avail);
mmc_remove_card(card);
}
/* /*
* Handle the detection and initialisation of a card. * Handle the detection and initialisation of a card.
* *
...@@ -630,10 +639,7 @@ static int mmc_sdio_init_card(struct mmc_host *host, u32 ocr, ...@@ -630,10 +639,7 @@ static int mmc_sdio_init_card(struct mmc_host *host, u32 ocr,
err = mmc_set_signal_voltage(host, MMC_SIGNAL_VOLTAGE_180, err = mmc_set_signal_voltage(host, MMC_SIGNAL_VOLTAGE_180,
ocr_card); ocr_card);
if (err == -EAGAIN) { if (err == -EAGAIN) {
sdio_reset(host); mmc_sdio_resend_if_cond(host, card);
mmc_go_idle(host);
mmc_send_if_cond(host, host->ocr_avail);
mmc_remove_card(card);
retries--; retries--;
goto try_again; goto try_again;
} else if (err) { } else if (err) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment