[PATCH 1/2] nvme-pci: clean up CMBMSC when registering CMB fails

Icenowy Zheng posted 2 patches 10 months, 1 week ago
[PATCH 1/2] nvme-pci: clean up CMBMSC when registering CMB fails
Posted by Icenowy Zheng 10 months, 1 week ago
CMB decoding should get disabled when the CMB block isn't successfully
registered to P2P DMA subsystem.

Clean up the CMBMSC register in this error handling codepath to disable
CMB decoding (and CMBLOC/CMBSZ registers).

Signed-off-by: Icenowy Zheng <uwu@icenowy.me>
---
 drivers/nvme/host/pci.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/nvme/host/pci.c b/drivers/nvme/host/pci.c
index 9197a5b173fdf..659ba85795a91 100644
--- a/drivers/nvme/host/pci.c
+++ b/drivers/nvme/host/pci.c
@@ -2003,6 +2003,7 @@ static void nvme_map_cmb(struct nvme_dev *dev)
 	if (pci_p2pdma_add_resource(pdev, bar, size, offset)) {
 		dev_warn(dev->ctrl.device,
 			 "failed to register the CMB\n");
+		hi_lo_writeq(0, dev->bar + NVME_REG_CMBMSC);
 		return;
 	}
 
-- 
2.48.1
Re: [PATCH 1/2] nvme-pci: clean up CMBMSC when registering CMB fails
Posted by Christoph Hellwig 10 months, 1 week ago
Looks good:

Reviewed-by: Christoph Hellwig <hch@lst.de>