arm64: dts: ls1028a: fix ENETC PTP clock input
[linux-2.6-microblaze.git] / block / blk-flush.c
index 6e1543c..53abb5c 100644 (file)
@@ -308,9 +308,16 @@ static void blk_kick_flush(struct request_queue *q, struct blk_flush_queue *fq,
        flush_rq->mq_ctx = first_rq->mq_ctx;
        flush_rq->mq_hctx = first_rq->mq_hctx;
 
-       if (!q->elevator)
+       if (!q->elevator) {
                flush_rq->tag = first_rq->tag;
-       else
+
+               /*
+                * We borrow data request's driver tag, so have to mark
+                * this flush request as INFLIGHT for avoiding double
+                * account of this driver tag
+                */
+               flush_rq->rq_flags |= RQF_MQ_INFLIGHT;
+       } else
                flush_rq->internal_tag = first_rq->internal_tag;
 
        flush_rq->cmd_flags = REQ_OP_FLUSH | REQ_PREFLUSH;