diff --git a/lib/nvme/nvme_pcie.c b/lib/nvme/nvme_pcie.c index 737c86362..1e0f5eb32 100644 --- a/lib/nvme/nvme_pcie.c +++ b/lib/nvme/nvme_pcie.c @@ -969,7 +969,6 @@ nvme_pcie_qpair_construct(struct spdk_nvme_qpair *qpair) struct nvme_tracker *tr; uint16_t i; volatile uint32_t *doorbell_base; - uint64_t phys_addr = 0; uint64_t offset; uint16_t num_trackers; size_t page_size = sysconf(_SC_PAGESIZE); @@ -1028,7 +1027,7 @@ nvme_pcie_qpair_construct(struct spdk_nvme_qpair *qpair) * This ensures the PRP list embedded in the nvme_tracker object will not span a * 4KB boundary, while allowing access to trackers in tr[] via normal array indexing. */ - pqpair->tr = spdk_dma_zmalloc(num_trackers * sizeof(*tr), sizeof(*tr), &phys_addr); + pqpair->tr = spdk_dma_zmalloc(num_trackers * sizeof(*tr), sizeof(*tr), NULL); if (pqpair->tr == NULL) { SPDK_ERRLOG("nvme_tr failed\n"); return -ENOMEM; @@ -1039,9 +1038,8 @@ nvme_pcie_qpair_construct(struct spdk_nvme_qpair *qpair) for (i = 0; i < num_trackers; i++) { tr = &pqpair->tr[i]; - nvme_qpair_construct_tracker(tr, i, phys_addr); + nvme_qpair_construct_tracker(tr, i, spdk_vtophys(tr)); TAILQ_INSERT_HEAD(&pqpair->free_tr, tr, tq_list); - phys_addr += sizeof(struct nvme_tracker); } nvme_pcie_qpair_reset(qpair);