/*
+ * Avoid configuration and syncing commands if controller is already
+ * being removed and queues have been killed.
+ */
+ if (ctrl->state == NVME_CTRL_DELETING || ctrl->state == NVME_CTRL_DEAD)
+ return;
+
Hey Rakesh, Christoph,
Given that the issue is for sync command submission during controller
removal, I'm wandering if we should perhaps move this check to
__nvme_submit_sync_cmd?
AFAICT user-space can just as easily trigger set_features in the same
condition which will trigger the hang couldn't it?