The first part of patchset provides the separate commit for
bugfix. Flow counter object was not freed in case of memory
allocation error. The call of counter Verbs object deallocating
function is added. The initial value of reference counter is
set to one in order to provide the correct counter object
freeing in the flow_verbs_counter_release() function.

Signed-off-by: Viacheslav Ovsiienko <viachesl...@mellanox.com>
---
 drivers/net/mlx5/mlx5_flow_verbs.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/net/mlx5/mlx5_flow_verbs.c 
b/drivers/net/mlx5/mlx5_flow_verbs.c
index 4ae974b..6ddb13b 100644
--- a/drivers/net/mlx5/mlx5_flow_verbs.c
+++ b/drivers/net/mlx5/mlx5_flow_verbs.c
@@ -72,6 +72,7 @@
                         }),
                .hits = 0,
                .bytes = 0,
+               .ref_cnt = 1,
        };
 
        if (!tmpl.cs) {
@@ -80,6 +81,7 @@
        }
        cnt = rte_calloc(__func__, 1, sizeof(*cnt), 0);
        if (!cnt) {
+               claim_zero(mlx5_glue->destroy_counter_set(tmpl.cs));
                rte_errno = ENOMEM;
                return NULL;
        }
-- 
1.8.3.1

Reply via email to