summaryrefslogtreecommitdiffstats
path: root/drivers/mmc
diff options
context:
space:
mode:
authorAdrian Hunter <adrian.hunter@intel.com>2017-03-13 14:36:32 +0200
committerUlf Hansson <ulf.hansson@linaro.org>2017-03-14 17:13:25 +0100
commit2602b740e45cc64feb55d5a9ee8db744ab3becbb (patch)
tree6884c5960787d830f515a5e1b05831c175b45a6a /drivers/mmc
parent773dc118756b1f38766063e90e582016be868f09 (diff)
downloadlinux-2602b740e45cc64feb55d5a9ee8db744ab3becbb.tar.gz
linux-2602b740e45cc64feb55d5a9ee8db744ab3becbb.tar.bz2
linux-2602b740e45cc64feb55d5a9ee8db744ab3becbb.zip
mmc: block: Fix is_waiting_last_req set incorrectly
Commit 15520111500c ("mmc: core: Further fix thread wake-up") allowed a queue to release the host with is_waiting_last_req set to true. A queue waiting to claim the host will not reset it, which can result in the queue getting stuck in a loop. Fixes: 15520111500c ("mmc: core: Further fix thread wake-up") Signed-off-by: Adrian Hunter <adrian.hunter@intel.com> Cc: stable@vger.kernel.org # v4.10+ Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Diffstat (limited to 'drivers/mmc')
-rw-r--r--drivers/mmc/core/block.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/mmc/core/block.c b/drivers/mmc/core/block.c
index 1621fa08e206..e59107ca512a 100644
--- a/drivers/mmc/core/block.c
+++ b/drivers/mmc/core/block.c
@@ -1817,6 +1817,7 @@ void mmc_blk_issue_rq(struct mmc_queue *mq, struct request *req)
mmc_blk_issue_flush(mq, req);
} else {
mmc_blk_issue_rw_rq(mq, req);
+ card->host->context_info.is_waiting_last_req = false;
}
out: