Messages in this thread Patch in this message | | | From | Tyler Ramer <> | Subject | [PATCH v3] Always shutdown the controller when nvme_remove_dead_ctrl is reached. | Date | Fri, 11 Oct 2019 10:28:26 -0400 |
| |
nvme_timeout() will go through nvme_should_reset() path which won't shutdown a device during nvme_dev_disable(). If the reset fails, then the controller is bad and won't be coming back online, so it makes sense to explicitly call a full shutdown during nvme_remove_dead_ctrl().
Signed-off-by: Tyler Ramer <tyaramer@gmail.com> Reviewed-by: Balbir Singh <sblbir@amazon.com>
--- Changes since v2: * Clean up commit message with comment from Balbir * Still call nvme_kill_queues() --- drivers/nvme/host/pci.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/nvme/host/pci.c b/drivers/nvme/host/pci.c index c0808f9eb8ab..c3f5ba22c625 100644 --- a/drivers/nvme/host/pci.c +++ b/drivers/nvme/host/pci.c @@ -2509,7 +2509,7 @@ static void nvme_pci_free_ctrl(struct nvme_ctrl *ctrl) static void nvme_remove_dead_ctrl(struct nvme_dev *dev) { nvme_get_ctrl(&dev->ctrl); - nvme_dev_disable(dev, false); + nvme_dev_disable(dev, true); nvme_kill_queues(&dev->ctrl); if (!queue_work(nvme_wq, &dev->remove_work)) nvme_put_ctrl(&dev->ctrl); -- 2.23.0
| |