From: Seungwon Jeon Date: Tue, 22 Jan 2013 10:48:07 +0000 (+0900) Subject: mmc: block: don't start new request when the card is removed X-Git-Tag: sz_173~29 X-Git-Url: https://git.openpandora.org/cgi-bin/gitweb.cgi?p=pandora-kernel.git;a=commitdiff_plain;h=af95f36608dcdf7267ae2052faf3cf0fa59488a6 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 Acked-by: Jaehoon Chung Tested-by: Konstantin Dorfman Signed-off-by: Chris Ball --- diff --git a/drivers/mmc/card/block.c b/drivers/mmc/card/block.c index bbbb91e5e65d..8f258a1fbba3 100644 --- a/drivers/mmc/card/block.c +++ b/drivers/mmc/card/block.c @@ -1336,8 +1336,14 @@ static int mmc_blk_issue_rw_rq(struct mmc_queue *mq, struct request *rqc) start_new_req: if (rqc) { - mmc_blk_rw_rq_prep(mq->mqrq_cur, card, 0, mq); - mmc_start_req(card->host, &mq->mqrq_cur->mmc_active, NULL); + if (mmc_card_removed(card)) { + 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;