|
@@ -1703,6 +1703,7 @@ nvme_fc_ctrl_free(struct kref *ref)
|
|
|
list_del(&ctrl->ctrl_list);
|
|
|
spin_unlock_irqrestore(&ctrl->rport->lock, flags);
|
|
|
|
|
|
+ blk_mq_unquiesce_queue(ctrl->ctrl.admin_q);
|
|
|
blk_cleanup_queue(ctrl->ctrl.admin_q);
|
|
|
blk_mq_free_tag_set(&ctrl->admin_tag_set);
|
|
|
|
|
@@ -2321,7 +2322,7 @@ nvme_fc_create_association(struct nvme_fc_ctrl *ctrl)
|
|
|
goto out_delete_hw_queue;
|
|
|
|
|
|
if (ctrl->ctrl.state != NVME_CTRL_NEW)
|
|
|
- blk_mq_start_stopped_hw_queues(ctrl->ctrl.admin_q, true);
|
|
|
+ blk_mq_unquiesce_queue(ctrl->ctrl.admin_q);
|
|
|
|
|
|
ret = nvmf_connect_admin_queue(&ctrl->ctrl);
|
|
|
if (ret)
|
|
@@ -2475,7 +2476,7 @@ nvme_fc_delete_association(struct nvme_fc_ctrl *ctrl)
|
|
|
* use blk_mq_tagset_busy_itr() and the transport routine to
|
|
|
* terminate the exchanges.
|
|
|
*/
|
|
|
- blk_mq_stop_hw_queues(ctrl->ctrl.admin_q);
|
|
|
+ blk_mq_quiesce_queue(ctrl->ctrl.admin_q);
|
|
|
blk_mq_tagset_busy_iter(&ctrl->admin_tag_set,
|
|
|
nvme_fc_terminate_exchange, &ctrl->ctrl);
|
|
|
|