|
@@ -2116,16 +2116,12 @@ static void nvme_remove(struct pci_dev *pdev)
|
|
|
{
|
|
|
struct nvme_dev *dev = pci_get_drvdata(pdev);
|
|
|
|
|
|
- spin_lock(&dev_list_lock);
|
|
|
- list_del_init(&dev->node);
|
|
|
- spin_unlock(&dev_list_lock);
|
|
|
-
|
|
|
pci_set_drvdata(pdev, NULL);
|
|
|
- flush_work(&dev->reset_work);
|
|
|
flush_work(&dev->scan_work);
|
|
|
nvme_remove_namespaces(&dev->ctrl);
|
|
|
nvme_uninit_ctrl(&dev->ctrl);
|
|
|
nvme_dev_disable(dev, true);
|
|
|
+ flush_work(&dev->reset_work);
|
|
|
nvme_dev_remove_admin(dev);
|
|
|
nvme_free_queues(dev, 0);
|
|
|
nvme_release_cmb(dev);
|