mmc: block: don't start new request when the card is removed
It's not necessary to start a new request while error handling if the card was removed. Signed-off-by: Seungwon Jeon <tgih.jun@samsung.com> Acked-by: Jaehoon Chung <jh80.chung@samsung.com> Tested-by: Konstantin Dorfman <kdorfman@codeaurora.org> Signed-off-by: Chris Ball <cjb@laptop.org>
This commit is contained in:
parent
9b844961c2
commit
7a81902fa5
1 changed files with 8 additions and 2 deletions
|
@ -1456,8 +1456,14 @@ static int mmc_blk_issue_rw_rq(struct mmc_queue *mq, struct request *rqc)
|
||||||
|
|
||||||
start_new_req:
|
start_new_req:
|
||||||
if (rqc) {
|
if (rqc) {
|
||||||
mmc_blk_rw_rq_prep(mq->mqrq_cur, card, 0, mq);
|
if (mmc_card_removed(card)) {
|
||||||
mmc_start_req(card->host, &mq->mqrq_cur->mmc_active, NULL);
|
rqc->cmd_flags |= REQ_QUIET;
|
||||||
|
blk_end_request_all(rqc, -EIO);
|
||||||
|
} else {
|
||||||
|
mmc_blk_rw_rq_prep(mq->mqrq_cur, card, 0, mq);
|
||||||
|
mmc_start_req(card->host,
|
||||||
|
&mq->mqrq_cur->mmc_active, NULL);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
Loading…
Reference in a new issue