[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