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: Shawn Lin <shawn.lin@rock-chips.com> Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
This commit is contained in:
parent
63928d4789
commit
0eb51a58ad
|
@ -541,6 +541,15 @@ out:
|
||||||
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 @@ try_again:
|
||||||
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) {
|
||||||
|
|
Loading…
Reference in New Issue