]> www.infradead.org Git - linux.git/commitdiff
net/mlx5: fs, move hardware fte deletion function reset
authorMark Bloch <mbloch@nvidia.com>
Wed, 11 Sep 2024 20:17:47 +0000 (13:17 -0700)
committerJakub Kicinski <kuba@kernel.org>
Fri, 13 Sep 2024 03:50:28 +0000 (20:50 -0700)
Downstream patches will need this as we might not want to reset
it when a pending rule is connected to the FTE.

Signed-off-by: Mark Bloch <mbloch@nvidia.com>
Signed-off-by: Saeed Mahameed <saeedm@nvidia.com>
Reviewed-by: Jacob Keller <jacob.e.keller@intel.com>
Link: https://patch.msgid.link/20240911201757.1505453-6-saeed@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/mellanox/mlx5/core/fs_core.c

index e32725487702acf2927006982523be027af1f914..899d91577a547cf13d743d7fa0449ec38990a860 100644 (file)
@@ -683,6 +683,8 @@ static void del_hw_fte(struct fs_node *node)
                                       fte->index, fg->id);
                node->active = false;
        }
+       /* Avoid double call to del_hw_fte */
+       fte->node.del_hw_func = NULL;
 }
 
 static void del_sw_fte(struct fs_node *node)
@@ -2265,8 +2267,6 @@ void mlx5_del_flow_rules(struct mlx5_flow_handle *handle)
                tree_remove_node(&handle->rule[i]->node, true);
        if (list_empty(&fte->node.children)) {
                fte->node.del_hw_func(&fte->node);
-               /* Avoid double call to del_hw_fte */
-               fte->node.del_hw_func = NULL;
                up_write_ref_node(&fte->node, false);
                tree_put_node(&fte->node, false);
        } else if (fte->dests_size) {