From 02cc2b439e0779123a44c0dfe0c3380e15e8ae78 Mon Sep 17 00:00:00 2001 From: Kalesh AP Date: Mon, 29 Jul 2019 17:28:05 -0400 Subject: [PATCH] net/bnxt: fix context memory allocation There is a bug in context memory allocation because of which it results in reusing the context memory allocated for the first port while allocating memory for next ports. Fix it by passing the port id in the name field while allocating context memory. Fixes: f8168ca0e690 ("net/bnxt: support thor controller") Signed-off-by: Kalesh AP Signed-off-by: Lance Richardson Reviewed-by: Somnath Kotur --- drivers/net/bnxt/bnxt_ethdev.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/drivers/net/bnxt/bnxt_ethdev.c b/drivers/net/bnxt/bnxt_ethdev.c index 2a8b502967..6685ee7d90 100644 --- a/drivers/net/bnxt/bnxt_ethdev.c +++ b/drivers/net/bnxt/bnxt_ethdev.c @@ -3399,8 +3399,9 @@ static int bnxt_alloc_ctx_mem_blk(__rte_unused struct bnxt *bp, valid_bits = PTU_PTE_VALID; if (rmem->nr_pages > 1) { - snprintf(mz_name, RTE_MEMZONE_NAMESIZE, "bnxt_ctx_pg_tbl%s_%x", - suffix, idx); + snprintf(mz_name, RTE_MEMZONE_NAMESIZE, + "bnxt_ctx_pg_tbl%s_%x_%d", + suffix, idx, bp->eth_dev->data->port_id); mz_name[RTE_MEMZONE_NAMESIZE - 1] = 0; mz = rte_memzone_lookup(mz_name); if (!mz) { @@ -3436,7 +3437,8 @@ static int bnxt_alloc_ctx_mem_blk(__rte_unused struct bnxt *bp, rmem->pg_tbl_mz = mz; } - snprintf(mz_name, RTE_MEMZONE_NAMESIZE, "bnxt_ctx_%s_%x", suffix, idx); + snprintf(mz_name, RTE_MEMZONE_NAMESIZE, "bnxt_ctx_%s_%x_%d", + suffix, idx, bp->eth_dev->data->port_id); mz = rte_memzone_lookup(mz_name); if (!mz) { mz = rte_memzone_reserve_aligned(mz_name, -- 2.20.1