From: Adrian Hunter Date: Mon, 13 Mar 2017 12:36:32 +0000 (+0200) Subject: mmc: block: Fix is_waiting_last_req set incorrectly X-Git-Tag: v4.10.7~9 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8b38e3191816f99038e7c6ee058baee2681284d2;p=thirdparty%2Fkernel%2Fstable.git mmc: block: Fix is_waiting_last_req set incorrectly commit 2602b740e45cc64feb55d5a9ee8db744ab3becbb upstream. 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 Signed-off-by: Ulf Hansson Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/mmc/core/block.c b/drivers/mmc/core/block.c index cb1698f268f19..7f4927a05be0a 100644 --- a/drivers/mmc/core/block.c +++ b/drivers/mmc/core/block.c @@ -1791,6 +1791,7 @@ int mmc_blk_issue_rq(struct mmc_queue *mq, struct request *req) ret = mmc_blk_issue_flush(mq, req); } else { ret = mmc_blk_issue_rw_rq(mq, req); + card->host->context_info.is_waiting_last_req = false; } out: