diff options
| author | Adrian Hunter <adrian.hunter@intel.com> | 2017-03-13 14:36:32 +0200 |
|---|---|---|
| committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2017-03-30 09:44:09 +0200 |
| commit | 8b38e3191816f99038e7c6ee058baee2681284d2 (patch) | |
| tree | ba7f3b9fc6cf9ab9586d24a19bdb7f0761e609ce | |
| parent | f2a9bf4d93dfd0a61388e7169ec512b02e70f37f (diff) | |
| download | linux-8b38e3191816f99038e7c6ee058baee2681284d2.tar.gz linux-8b38e3191816f99038e7c6ee058baee2681284d2.tar.bz2 linux-8b38e3191816f99038e7c6ee058baee2681284d2.zip | |
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 <adrian.hunter@intel.com>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
| -rw-r--r-- | drivers/mmc/core/block.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/mmc/core/block.c b/drivers/mmc/core/block.c index cb1698f268f1..7f4927a05be0 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: |
