UBUNTU: (fix) NVMe: Don't unmap controller registers on reset

Kamal Mostafa kamal at canonical.com
Mon Sep 26 22:29:52 UTC 2016


BugLink: http://bugs.launchpad.net/bugs/1626894

Commit b00a726a9fd82ddd4c10344e46f0d371e1674303 upstream.

Fix nvme_pci_enable missing initializer accidentally omitted from Xenial
backport of 30d6592 "NVMe: Don't unmap controller registers on reset"
(and homogenize comment lines with the 4.4.y-stable tree).

Signed-off-by: Kamal Mostafa <kamal at canonical.com>
---
 drivers/nvme/host/pci.c | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/drivers/nvme/host/pci.c b/drivers/nvme/host/pci.c
index cba668e..58b9e7c 100644
--- a/drivers/nvme/host/pci.c
+++ b/drivers/nvme/host/pci.c
@@ -1726,6 +1726,7 @@ static int nvme_pci_enable(struct nvme_dev *dev)
 	if (pci_enable_device_mem(pdev))
 		return result;
 
+	dev->entry[0].vector = pdev->irq;
 	pci_set_master(pdev);
 
 	if (dma_set_mask_and_coherent(dev->dev, DMA_BIT_MASK(64)) &&
@@ -1738,9 +1739,8 @@ static int nvme_pci_enable(struct nvme_dev *dev)
 	}
 
 	/*
-	 * Some devices and/or platforms don't advertise or work with INTx
-	 * interrupts. Pre-enable a single MSIX or MSI vec for setup. We'll
-	 * adjust this later.
+	 * Some devices don't advertse INTx interrupts, pre-enable a single
+	 * MSIX vec for setup. We'll adjust this later.
 	 */
 	if (!pdev->irq) {
 		result = pci_enable_msix(pdev, dev->entry, 1);
@@ -1749,7 +1749,6 @@ static int nvme_pci_enable(struct nvme_dev *dev)
 	}
 
 	cap = lo_hi_readq(dev->bar + NVME_REG_CAP);
-
 	dev->q_depth = min_t(int, NVME_CAP_MQES(cap) + 1, NVME_Q_DEPTH);
 	dev->db_stride = 1 << NVME_CAP_STRIDE(cap);
 	dev->dbs = dev->bar + 4096;
-- 
2.7.4





More information about the kernel-team mailing list