net/bnxt: fix context memory allocation
authorKalesh AP <kalesh-anakkur.purayil@broadcom.com>
Mon, 29 Jul 2019 21:28:05 +0000 (17:28 -0400)
committerFerruh Yigit <ferruh.yigit@intel.com>
Tue, 30 Jul 2019 17:39:39 +0000 (19:39 +0200)
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 <kalesh-anakkur.purayil@broadcom.com>
Signed-off-by: Lance Richardson <lance.richardson@broadcom.com>
Reviewed-by: Somnath Kotur <somnath.kotur@broadcom.com>
drivers/net/bnxt/bnxt_ethdev.c

index 2a8b502..6685ee7 100644 (file)
@@ -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,