Commit 6a3572e1 authored by Icenowy Zheng's avatar Icenowy Zheng Committed by Keith Busch
Browse files

nvme-pci: clean up CMBMSC when registering CMB fails



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: default avatarIcenowy Zheng <uwu@icenowy.me>
Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
Signed-off-by: default avatarKeith Busch <kbusch@kernel.org>
parent 8c1624b6
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -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;
	}