From 0ee5a7d7cb9309bd393a25c395f19fb12a842602 Mon Sep 17 00:00:00 2001
From: Shane Michael Matthews <shane.matthews@intel.com>
Date: Tue, 1 Feb 2011 08:49:30 -0500
Subject: [PATCH] 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>
---
 drivers/block/nvme.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/drivers/block/nvme.c b/drivers/block/nvme.c
index dc821776be94..1dda4b5c2302 100644
--- a/drivers/block/nvme.c
+++ b/drivers/block/nvme.c
@@ -1103,6 +1103,9 @@ static int __devinit nvme_probe(struct pci_dev *pdev,
 	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 @@ static int __devinit nvme_probe(struct pci_dev *pdev,
  disable:
 	pci_disable_msix(pdev);
 	nvme_release_instance(dev);
+	pci_disable_device(pdev);
  free:
 	kfree(dev->queues);
 	kfree(dev->entry);
@@ -1147,6 +1151,7 @@ static void __devexit nvme_remove(struct pci_dev *pdev)
 	pci_disable_msix(pdev);
 	iounmap(dev->bar);
 	nvme_release_instance(dev);
+	pci_disable_device(pdev);
 	kfree(dev->queues);
 	kfree(dev->entry);
 	kfree(dev);
-- 
GitLab