.. | .. |
---|
989 | 989 | goto out_cleanup_connect_q; |
---|
990 | 990 | |
---|
991 | 991 | if (!new) { |
---|
| 992 | + nvme_start_freeze(&ctrl->ctrl); |
---|
992 | 993 | nvme_start_queues(&ctrl->ctrl); |
---|
993 | 994 | if (!nvme_wait_freeze_timeout(&ctrl->ctrl, NVME_IO_TIMEOUT)) { |
---|
994 | 995 | /* |
---|
.. | .. |
---|
997 | 998 | * to be safe. |
---|
998 | 999 | */ |
---|
999 | 1000 | ret = -ENODEV; |
---|
| 1001 | + nvme_unfreeze(&ctrl->ctrl); |
---|
1000 | 1002 | goto out_wait_freeze_timed_out; |
---|
1001 | 1003 | } |
---|
1002 | 1004 | blk_mq_update_nr_hw_queues(ctrl->ctrl.tagset, |
---|
.. | .. |
---|
1042 | 1044 | bool remove) |
---|
1043 | 1045 | { |
---|
1044 | 1046 | if (ctrl->ctrl.queue_count > 1) { |
---|
1045 | | - nvme_start_freeze(&ctrl->ctrl); |
---|
1046 | 1047 | nvme_stop_queues(&ctrl->ctrl); |
---|
1047 | 1048 | nvme_sync_io_queues(&ctrl->ctrl); |
---|
1048 | 1049 | nvme_rdma_stop_io_queues(ctrl); |
---|