Commit 3869468e authored by Chaotian Jing's avatar Chaotian Jing Committed by Ulf Hansson
Browse files

mmc: block: Make card_busy_detect() a bit more generic



To prepare for more users of card_busy_detect(), let's drop the struct
request * as an in-parameter and convert to log the error message via
dev_err() instead of pr_err().

Signed-off-by: default avatarChaotian Jing <chaotian.jing@mediatek.com>
Reviewed-by: default avatarAvri Altman <avri.altman@wdc.com>
Cc: stable@vger.kernel.org
Signed-off-by: default avatarUlf Hansson <ulf.hansson@linaro.org>
parent 22dc132d
Loading
Loading
Loading
Loading
+8 −8
Original line number Diff line number Diff line
@@ -981,7 +981,7 @@ static inline bool mmc_blk_in_tran_state(u32 status)
}

static int card_busy_detect(struct mmc_card *card, unsigned int timeout_ms,
			    struct request *req, u32 *resp_errs)
			    u32 *resp_errs)
{
	unsigned long timeout = jiffies + msecs_to_jiffies(timeout_ms);
	int err = 0;
@@ -992,8 +992,8 @@ static int card_busy_detect(struct mmc_card *card, unsigned int timeout_ms,

		err = __mmc_send_status(card, &status, 5);
		if (err) {
			pr_err("%s: error %d requesting status\n",
			       req->rq_disk->disk_name, err);
			dev_err(mmc_dev(card->host),
				"error %d requesting status\n", err);
			return err;
		}

@@ -1006,9 +1006,9 @@ static int card_busy_detect(struct mmc_card *card, unsigned int timeout_ms,
		 * leaves the program state.
		 */
		if (done) {
			pr_err("%s: Card stuck in wrong state! %s %s status: %#x\n",
				mmc_hostname(card->host),
				req->rq_disk->disk_name, __func__, status);
			dev_err(mmc_dev(card->host),
				"Card stuck in wrong state! %s status: %#x\n",
				 __func__, status);
			return -ETIMEDOUT;
		}

@@ -1671,7 +1671,7 @@ static int mmc_blk_fix_state(struct mmc_card *card, struct request *req)

	mmc_blk_send_stop(card, timeout);

	err = card_busy_detect(card, timeout, req, NULL);
	err = card_busy_detect(card, timeout, NULL);

	mmc_retune_release(card->host);

@@ -1895,7 +1895,7 @@ static int mmc_blk_card_busy(struct mmc_card *card, struct request *req)
	if (mmc_host_is_spi(card->host) || rq_data_dir(req) == READ)
		return 0;

	err = card_busy_detect(card, MMC_BLK_TIMEOUT_MS, req, &status);
	err = card_busy_detect(card, MMC_BLK_TIMEOUT_MS, &status);

	/*
	 * Do not assume data transferred correctly if there are any error bits