if (q->queue_tags)
__blk_queue_free_tags(q);
+ blk_exit_flush(q);
+
if (q->mq_ops)
blk_mq_free_queue(q);
- kfree(q->flush_rq);
-
blk_trace_shutdown(q);
bdi_destroy(&q->backing_dev_info);
* Initialization must be complete by now. Finish the initial
* bypass from queue allocation.
*/
- queue_flag_set_unlocked(QUEUE_FLAG_INIT_DONE, q);
- blk_queue_bypass_end(q);
+ if (!blk_queue_init_done(q)) {
+ queue_flag_set_unlocked(QUEUE_FLAG_INIT_DONE, q);
+ blk_queue_bypass_end(q);
+ }
ret = blk_trace_init_sysfs(dev);
if (ret)