Merge tag 'for-4.19/post-20180822' of git://git.kernel.dk/linux-block
[linux-2.6-block.git] / block / blk-mq.c
index 81cb84b17b7373d9b4b1170e389bc725490a0d32..85a1c1a59c72716ce2e31c280d7fd43d5c6e61e9 100644 (file)
@@ -560,10 +560,8 @@ static void __blk_mq_complete_request(struct request *rq)
        bool shared = false;
        int cpu;
 
-       if (cmpxchg(&rq->state, MQ_RQ_IN_FLIGHT, MQ_RQ_COMPLETE) !=
-                       MQ_RQ_IN_FLIGHT)
+       if (!blk_mq_mark_complete(rq))
                return;
-
        if (rq->internal_tag != -1)
                blk_mq_sched_completed_request(rq);