On Thu, Nov 01, 2018 at 05:19:32AM -0700, Slava Ovsiienko wrote:
> The counters for E-Switch rules were erroneously deleted in
> flow_tcf_remove() routine. The counters deletion is moved to
> flow_tcf_destroy() routine.
> 
> Fixes: e1114ff6a5ab ("net/mlx5: support e-switch flow count action")
> Cc: Moti Haimovsky <mo...@mellanox.com>
> 
> Suggested-by: Adrien Mazarguil <adrien.mazarg...@6wind.com>
> Signed-off-by: Viacheslav Ovsiienko <viachesl...@mellanox.com>
> ---
Acked-by: Yongseok Koh <ys...@mellanox.com>
Thanks

>  drivers/net/mlx5/mlx5_flow_tcf.c | 12 ++++++------
>  1 file changed, 6 insertions(+), 6 deletions(-)
> 
> diff --git a/drivers/net/mlx5/mlx5_flow_tcf.c 
> b/drivers/net/mlx5/mlx5_flow_tcf.c
> index 67a6ff3..02b64d6 100644
> --- a/drivers/net/mlx5/mlx5_flow_tcf.c
> +++ b/drivers/net/mlx5/mlx5_flow_tcf.c
> @@ -3803,12 +3803,6 @@ struct pedit_parser {
>  
>       if (!flow)
>               return;
> -     if (flow->counter) {
> -             if (--flow->counter->ref_cnt == 0) {
> -                     rte_free(flow->counter);
> -                     flow->counter = NULL;
> -             }
> -     }
>       dev_flow = LIST_FIRST(&flow->dev_flows);
>       if (!dev_flow)
>               return;
> @@ -3836,6 +3830,12 @@ struct pedit_parser {
>       if (!flow)
>               return;
>       flow_tcf_remove(dev, flow);
> +     if (flow->counter) {
> +             if (--flow->counter->ref_cnt == 0) {
> +                     rte_free(flow->counter);
> +                     flow->counter = NULL;
> +             }
> +     }
>       dev_flow = LIST_FIRST(&flow->dev_flows);
>       if (!dev_flow)
>               return;
> -- 
> 1.8.3.1
> 

Reply via email to