NVMe: Enable and disable the PCI device
Call pci_enable_device_mem() at initialisation and pci_disable_device
at exit.
Signed-off-by: Shane Michael Matthews <shane.matthews@intel.com>
Signed-off-by: Matthew Wilcox <matthew.r.wilcox@intel.com>
diff --git a/drivers/block/nvme.c b/drivers/block/nvme.c
index dc82177..1dda4b5 100644
--- a/drivers/block/nvme.c
+++ b/drivers/block/nvme.c
@@ -1103,6 +1103,9 @@
if (!dev->queues)
goto free;
+ if (pci_enable_device_mem(pdev))
+ goto free;
+
INIT_LIST_HEAD(&dev->namespaces);
dev->pci_dev = pdev;
pci_set_drvdata(pdev, dev);
@@ -1133,6 +1136,7 @@
disable:
pci_disable_msix(pdev);
nvme_release_instance(dev);
+ pci_disable_device(pdev);
free:
kfree(dev->queues);
kfree(dev->entry);
@@ -1147,6 +1151,7 @@
pci_disable_msix(pdev);
iounmap(dev->bar);
nvme_release_instance(dev);
+ pci_disable_device(pdev);
kfree(dev->queues);
kfree(dev->entry);
kfree(dev);