mempool: fix first memory area notification
Mempool creation needs to be completed first before notifying mempool to
register the mempool area.
Fixes: 12b8cc1a7e
("mempool: notify memory area to pool")
Cc: stable@dpdk.org
Signed-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>
Acked-by: Santosh Shukla <santosh.shukla@caviumnetworks.com>
This commit is contained in:
parent
b6f26c9db2
commit
be2d94e5eb
@ -367,11 +367,6 @@ rte_mempool_populate_iova(struct rte_mempool *mp, char *vaddr,
|
||||
struct rte_mempool_memhdr *memhdr;
|
||||
int ret;
|
||||
|
||||
/* Notify memory area to mempool */
|
||||
ret = rte_mempool_ops_register_memory_area(mp, vaddr, iova, len);
|
||||
if (ret != -ENOTSUP && ret < 0)
|
||||
return ret;
|
||||
|
||||
/* create the internal ring if not already done */
|
||||
if ((mp->flags & MEMPOOL_F_POOL_CREATED) == 0) {
|
||||
ret = rte_mempool_ops_alloc(mp);
|
||||
@ -380,6 +375,11 @@ rte_mempool_populate_iova(struct rte_mempool *mp, char *vaddr,
|
||||
mp->flags |= MEMPOOL_F_POOL_CREATED;
|
||||
}
|
||||
|
||||
/* Notify memory area to mempool */
|
||||
ret = rte_mempool_ops_register_memory_area(mp, vaddr, iova, len);
|
||||
if (ret != -ENOTSUP && ret < 0)
|
||||
return ret;
|
||||
|
||||
/* mempool is already populated */
|
||||
if (mp->populated_size >= mp->size)
|
||||
return -ENOSPC;
|
||||
|
Loading…
Reference in New Issue
Block a user