From: Satheesh Paul <[email protected]>
Upon MCAM allocation failure, free counters only if counters
were allocated earlier for the flow rule.
Fixes: f9af9080746 ("common/cnxk: add mcam utility API")
Signed-off-by: Satheesh Paul <[email protected]>
---
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 8ccaaad0af..7d9b0ed3e3 100644
--- a/drivers/common/cnxk/roc_npc_mcam.c
+++ b/drivers/common/cnxk/roc_npc_mcam.c
@@ -519,7 +519,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.25.4