Skip to content

Commit 6fb271f

Browse files
Ming LeiChristoph Hellwig
authored andcommitted
nvme-fc: restart admin queue if the caller needs to restart queue
Without restarting admin queue in __nvme_fc_abort_outstanding_ios(), it leaves controller not capable of handling admin pt request, and causes io hang. Fixes it by restarting admin queue if the caller of __nvme_fc_abort_outstanding_ios requires to restart queue. Signed-off-by: Ming Lei <[email protected]> Reviewed-by: Sagi Grimberg <[email protected]> Reviewed-by: James Smart <[email protected]> Tested-by: Ewan D. Milne <[email protected]> Signed-off-by: Christoph Hellwig <[email protected]>
1 parent fa9db65 commit 6fb271f

File tree

1 file changed

+2
-0
lines changed
  • drivers/nvme/host

1 file changed

+2
-0
lines changed

drivers/nvme/host/fc.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2533,6 +2533,8 @@ __nvme_fc_abort_outstanding_ios(struct nvme_fc_ctrl *ctrl, bool start_queues)
25332533
blk_mq_tagset_busy_iter(&ctrl->admin_tag_set,
25342534
nvme_fc_terminate_exchange, &ctrl->ctrl);
25352535
blk_mq_tagset_wait_completed_request(&ctrl->admin_tag_set);
2536+
if (start_queues)
2537+
nvme_start_admin_queue(&ctrl->ctrl);
25362538
}
25372539

25382540
static void

0 commit comments

Comments
 (0)