[PATCH 3/4] nvme-loop: quiesce admin queue on failure

Hannes Reinecke hare at suse.de
Fri Oct 20 07:25:59 PDT 2023


We are calling nvme_unquiesce_admin_queue() in
nvme_loop_configure_admin_queue(), but don't call
nvme_quiesce_admin_queue() on failure.

Signed-off-by: Hannes Reinecke <hare at suse.de>
---
 drivers/nvme/target/loop.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/nvme/target/loop.c b/drivers/nvme/target/loop.c
index 48d5df054cd0..e1b8ead94575 100644
--- a/drivers/nvme/target/loop.c
+++ b/drivers/nvme/target/loop.c
@@ -379,10 +379,12 @@ static int nvme_loop_configure_admin_queue(struct nvme_loop_ctrl *ctrl)
 
 	error = nvme_init_ctrl_finish(&ctrl->ctrl, false);
 	if (error)
-		goto out_cleanup_tagset;
+		goto out_quiesce_tagset;
 
 	return 0;
 
+out_quiesce_tagset:
+	nvme_quiesce_admin_queue(&ctrl->ctrl);
 out_cleanup_tagset:
 	clear_bit(NVME_LOOP_Q_LIVE, &ctrl->queues[0].flags);
 	nvme_remove_admin_tag_set(&ctrl->ctrl);
-- 
2.35.3




More information about the Linux-nvme mailing list