blk-mq: blk_mq_tag_to_rq should handle flush request
[firefly-linux-kernel-4.4.55.git] / block / blk-flush.c
index ef608b35d9be2531e7153d3018a6954cac1960d5..ff87c664b7df63e62710faad323f8eae8fcd082c 100644 (file)
@@ -223,8 +223,10 @@ static void flush_end_io(struct request *flush_rq, int error)
        struct request *rq, *n;
        unsigned long flags = 0;
 
-       if (q->mq_ops)
+       if (q->mq_ops) {
                spin_lock_irqsave(&q->mq_flush_lock, flags);
+               q->flush_rq->cmd_flags = 0;
+       }
 
        running = &q->flush_queue[q->flush_running_idx];
        BUG_ON(q->flush_pending_idx == q->flush_running_idx);