diff mbox

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

Message ID 1474928992-21919-2-git-send-email-kamal@canonical.com
State New
Headers show

Commit Message

Kamal Mostafa Sept. 26, 2016, 10:29 p.m. UTC
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@canonical.com>
---
 drivers/nvme/host/pci.c | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

Comments

Tim Gardner Sept. 26, 2016, 11:30 p.m. UTC | #1
Hard to argue with the test results.
Stefan Bader Sept. 27, 2016, 8:34 a.m. UTC | #2
assume cherry-pick and has positive testing.
diff mbox

Patch

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;