From d74d3744da6cf65e9d8daae2386c5bae39853022 Mon Sep 17 00:00:00 2001 From: Satheesh Paul Date: Fri, 17 Sep 2021 10:07:46 +0530 Subject: [PATCH] common/cnxk: fix freeing MCAM counter Upon MCAM allocation failure, free counters only if counters were allocated earlier for the flow rule. Fixes: f9af90807466 ("common/cnxk: add mcam utility API") Cc: stable@dpdk.org Signed-off-by: Satheesh Paul Acked-by: Jerin Jacob --- drivers/common/cnxk/roc_npc_mcam.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/common/cnxk/roc_npc_mcam.c b/drivers/common/cnxk/roc_npc_mcam.c index 4985d226c6..91ed2dd511 100644 --- a/drivers/common/cnxk/roc_npc_mcam.c +++ b/drivers/common/cnxk/roc_npc_mcam.c @@ -522,7 +522,8 @@ npc_mcam_alloc_and_write(struct npc *npc, struct roc_npc_flow *flow, entry = npc_check_preallocated_entry_cache(mbox, flow, npc); if (entry < 0) { - npc_mcam_free_counter(npc, ctr); + if (use_ctr) + npc_mcam_free_counter(npc, ctr); return NPC_ERR_MCAM_ALLOC; } -- 2.20.1