Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

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
Loading
Loading
Loading
Loading
+10 −4
Original line number Diff line number Diff line
@@ -541,6 +541,15 @@ static int mmc_sdio_init_uhs_card(struct mmc_card *card)
	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.
 *
@@ -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,
					ocr_card);
		if (err == -EAGAIN) {
			sdio_reset(host);
			mmc_go_idle(host);
			mmc_send_if_cond(host, host->ocr_avail);
			mmc_remove_card(card);
			mmc_sdio_resend_if_cond(host, card);
			retries--;
			goto try_again;
		} else if (err) {