Shutdown the controller when nvme_remove_dead_controller is reached. If nvme_remove_dead_controller() is called, the controller won't be comming back online, so we should shut it down rather than just disabling.
Remove nvme_kill_queues() as nvme_dev_remove() will take care of unquiescing queues. Signed-off-by: Tyler Ramer <tyara...@gmail.com> --- Changes since v1: * Clean up commit message * Remove nvme_kill_queues() --- drivers/nvme/host/pci.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/drivers/nvme/host/pci.c b/drivers/nvme/host/pci.c index c0808f9eb8ab..68d5fb880d80 100644 --- a/drivers/nvme/host/pci.c +++ b/drivers/nvme/host/pci.c @@ -2509,8 +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_kill_queues(&dev->ctrl); + nvme_dev_disable(dev, true); if (!queue_work(nvme_wq, &dev->remove_work)) nvme_put_ctrl(&dev->ctrl); } -- 2.23.0