diff options
Diffstat (limited to 'drivers/mmc/core/block.c')
-rw-r--r-- | drivers/mmc/core/block.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/drivers/mmc/core/block.c b/drivers/mmc/core/block.c index 1621fa08e206..ff3da960c473 100644 --- a/drivers/mmc/core/block.c +++ b/drivers/mmc/core/block.c | |||
@@ -1560,11 +1560,8 @@ static bool mmc_blk_rw_cmd_err(struct mmc_blk_data *md, struct mmc_card *card, | |||
1560 | struct mmc_blk_request *brq, struct request *req, | 1560 | struct mmc_blk_request *brq, struct request *req, |
1561 | bool old_req_pending) | 1561 | bool old_req_pending) |
1562 | { | 1562 | { |
1563 | struct mmc_queue_req *mq_rq; | ||
1564 | bool req_pending; | 1563 | bool req_pending; |
1565 | 1564 | ||
1566 | mq_rq = container_of(brq, struct mmc_queue_req, brq); | ||
1567 | |||
1568 | /* | 1565 | /* |
1569 | * If this is an SD card and we're writing, we can first | 1566 | * If this is an SD card and we're writing, we can first |
1570 | * mark the known good sectors as ok. | 1567 | * mark the known good sectors as ok. |
@@ -1701,7 +1698,8 @@ static void mmc_blk_issue_rw_rq(struct mmc_queue *mq, struct request *new_req) | |||
1701 | case MMC_BLK_CMD_ERR: | 1698 | case MMC_BLK_CMD_ERR: |
1702 | req_pending = mmc_blk_rw_cmd_err(md, card, brq, old_req, req_pending); | 1699 | req_pending = mmc_blk_rw_cmd_err(md, card, brq, old_req, req_pending); |
1703 | if (mmc_blk_reset(md, card->host, type)) { | 1700 | if (mmc_blk_reset(md, card->host, type)) { |
1704 | mmc_blk_rw_cmd_abort(card, old_req); | 1701 | if (req_pending) |
1702 | mmc_blk_rw_cmd_abort(card, old_req); | ||
1705 | mmc_blk_rw_try_restart(mq, new_req); | 1703 | mmc_blk_rw_try_restart(mq, new_req); |
1706 | return; | 1704 | return; |
1707 | } | 1705 | } |
@@ -1817,6 +1815,7 @@ void mmc_blk_issue_rq(struct mmc_queue *mq, struct request *req) | |||
1817 | mmc_blk_issue_flush(mq, req); | 1815 | mmc_blk_issue_flush(mq, req); |
1818 | } else { | 1816 | } else { |
1819 | mmc_blk_issue_rw_rq(mq, req); | 1817 | mmc_blk_issue_rw_rq(mq, req); |
1818 | card->host->context_info.is_waiting_last_req = false; | ||
1820 | } | 1819 | } |
1821 | 1820 | ||
1822 | out: | 1821 | out: |