| From | Greg Kroah-Hartman <> | Subject | [PATCH 4.10 103/111] mmc: block: Fix is_waiting_last_req set incorrectly | Date | Tue, 28 Mar 2017 14:31:29 +0200 |
| |
4.10-stable review patch. If anyone has any objections, please let me know.
------------------
From: Adrian Hunter <adrian.hunter@intel.com>
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 <adrian.hunter@intel.com> Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> --- drivers/mmc/core/block.c | 1 + 1 file changed, 1 insertion(+)
--- a/drivers/mmc/core/block.c +++ b/drivers/mmc/core/block.c @@ -1791,6 +1791,7 @@ int mmc_blk_issue_rq(struct mmc_queue *m 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:
|