Commit 60070c78 authored by Sagi Grimberg's avatar Sagi Grimberg Committed by Christoph Hellwig
Browse files

nvme-rdma: pass tagset to directly nvme_rdma_free_tagset



Instead of flagging admin/io.

Signed-off-by: default avatarSagi Grimberg <sagi@grimberg.me>
Reviewed-by: default avatarMax Gurtovoy <maxg@mellanox.com>
Reviewed-by: default avatarJohannes Thumshirn <jthumshirn@suse.de>
Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
parent dab7487b
Loading
Loading
Loading
Loading
+6 −7
Original line number Diff line number Diff line
@@ -670,11 +670,10 @@ out_free_queues:
	return ret;
}

static void nvme_rdma_free_tagset(struct nvme_ctrl *nctrl, bool admin)
static void nvme_rdma_free_tagset(struct nvme_ctrl *nctrl,
		struct blk_mq_tag_set *set)
{
	struct nvme_rdma_ctrl *ctrl = to_rdma_ctrl(nctrl);
	struct blk_mq_tag_set *set = admin ?
			&ctrl->admin_tag_set : &ctrl->tag_set;

	blk_mq_free_tag_set(set);
	nvme_rdma_dev_put(ctrl->device);
@@ -744,7 +743,7 @@ static void nvme_rdma_destroy_admin_queue(struct nvme_rdma_ctrl *ctrl,
	nvme_rdma_stop_queue(&ctrl->queues[0]);
	if (remove) {
		blk_cleanup_queue(ctrl->ctrl.admin_q);
		nvme_rdma_free_tagset(&ctrl->ctrl, true);
		nvme_rdma_free_tagset(&ctrl->ctrl, ctrl->ctrl.admin_tagset);
	}
	nvme_rdma_free_queue(&ctrl->queues[0]);
}
@@ -818,7 +817,7 @@ out_cleanup_queue:
		blk_cleanup_queue(ctrl->ctrl.admin_q);
out_free_tagset:
	if (new)
		nvme_rdma_free_tagset(&ctrl->ctrl, true);
		nvme_rdma_free_tagset(&ctrl->ctrl, ctrl->ctrl.admin_tagset);
out_free_queue:
	nvme_rdma_free_queue(&ctrl->queues[0]);
	return error;
@@ -830,7 +829,7 @@ static void nvme_rdma_destroy_io_queues(struct nvme_rdma_ctrl *ctrl,
	nvme_rdma_stop_io_queues(ctrl);
	if (remove) {
		blk_cleanup_queue(ctrl->ctrl.connect_q);
		nvme_rdma_free_tagset(&ctrl->ctrl, false);
		nvme_rdma_free_tagset(&ctrl->ctrl, ctrl->ctrl.tagset);
	}
	nvme_rdma_free_io_queues(ctrl);
}
@@ -873,7 +872,7 @@ out_cleanup_connect_q:
		blk_cleanup_queue(ctrl->ctrl.connect_q);
out_free_tag_set:
	if (new)
		nvme_rdma_free_tagset(&ctrl->ctrl, false);
		nvme_rdma_free_tagset(&ctrl->ctrl, ctrl->ctrl.tagset);
out_free_io_queues:
	nvme_rdma_free_io_queues(ctrl);
	return ret;