Merge branch 'for-4.6/core' of git://git.kernel.dk/linux-block
[linux-2.6-block.git] / block / blk-mq.c
index 261b6feddae6a30b5ebb6e085ba9fd32bb0e6477..050f7a13021baca7347df79d8d26dad2b89e327e 100644 (file)
@@ -602,8 +602,10 @@ static void blk_mq_check_expired(struct blk_mq_hw_ctx *hctx,
                 * If a request wasn't started before the queue was
                 * marked dying, kill it here or it'll go unnoticed.
                 */
-               if (unlikely(blk_queue_dying(rq->q)))
-                       blk_mq_complete_request(rq, -EIO);
+               if (unlikely(blk_queue_dying(rq->q))) {
+                       rq->errors = -EIO;
+                       blk_mq_end_request(rq, rq->errors);
+               }
                return;
        }