From: Olivier Matz Date: Mon, 11 Jul 2016 10:20:26 +0000 (+0200) Subject: mbuf: set errno on pool creation error X-Git-Tag: spdx-start~6180 X-Git-Url: http://git.droids-corp.org/?a=commitdiff_plain;h=996e86bf2a74b671225d7a59c0d1eddbec881401;p=dpdk.git mbuf: set errno on pool creation error In rte_pktmbuf_pool_create(), the rte_errno variable was not always set on failure. Fixes: 152ca517900b ("mbuf: use default mempool handler from config") Signed-off-by: Olivier Matz --- diff --git a/lib/librte_mbuf/rte_mbuf.c b/lib/librte_mbuf/rte_mbuf.c index 601e528225..4846b89716 100644 --- a/lib/librte_mbuf/rte_mbuf.c +++ b/lib/librte_mbuf/rte_mbuf.c @@ -156,6 +156,7 @@ rte_pktmbuf_pool_create(const char *name, unsigned n, struct rte_mempool *mp; struct rte_pktmbuf_pool_private mbp_priv; unsigned elt_size; + int ret; if (RTE_ALIGN(priv_size, RTE_MBUF_PRIV_ALIGN) != priv_size) { RTE_LOG(ERR, MBUF, "mbuf priv_size=%u is not aligned\n", @@ -181,8 +182,10 @@ rte_pktmbuf_pool_create(const char *name, unsigned n, } rte_pktmbuf_pool_init(mp, &mbp_priv); - if (rte_mempool_populate_default(mp) < 0) { + ret = rte_mempool_populate_default(mp); + if (ret < 0) { rte_mempool_free(mp); + rte_errno = -ret; return NULL; }