X-Git-Url: http://git.droids-corp.org/?p=dpdk.git;a=blobdiff_plain;f=lib%2Flibrte_eal%2Fcommon%2Frte_malloc.c;h=0028128a5b740147359cc5d5f9b5ce2e7fbf993a;hp=d65c05a4db0c6cd3c491698f34b78f1b8860331c;hb=7ba49d39f14c;hpb=d03896dc2d15e0eb327301d95ce571473ee85f82 diff --git a/lib/librte_eal/common/rte_malloc.c b/lib/librte_eal/common/rte_malloc.c index d65c05a4db..0028128a5b 100644 --- a/lib/librte_eal/common/rte_malloc.c +++ b/lib/librte_eal/common/rte_malloc.c @@ -255,13 +255,13 @@ rte_malloc_virt2phy(const void *addr) const struct malloc_elem *elem = malloc_elem_from_data(addr); if (elem == NULL) return RTE_BAD_PHYS_ADDR; - if (elem->ms->phys_addr == RTE_BAD_PHYS_ADDR) - return RTE_BAD_PHYS_ADDR; + if (elem->ms->iova == RTE_BAD_IOVA) + return RTE_BAD_IOVA; if (rte_eal_iova_mode() == RTE_IOVA_VA) paddr = (uintptr_t)addr; else - paddr = elem->ms->phys_addr + + paddr = elem->ms->iova + ((uintptr_t)addr - (uintptr_t)elem->ms->addr); return paddr; }