Skip to content

Commit 6eb7a26

Browse files
roidayanSaeed Mahameed
authored andcommitted
net/mlx5: Don't maintain a case of del_sw_func being null
Add del_sw_func cb for root ns. Now there is no need to maintain a case of del_sw_func being null when freeing the node. Fixes: 2cc43b4 ("net/mlx5_core: Managing root flow table") Signed-off-by: Roi Dayan <[email protected]> Reviewed-by: Mark Bloch <[email protected]> Reviewed-by: Paul Blakey <[email protected]> Signed-off-by: Saeed Mahameed <[email protected]>
1 parent aee37f3 commit 6eb7a26

File tree

1 file changed

+9
-8
lines changed
  • drivers/net/ethernet/mellanox/mlx5/core

1 file changed

+9
-8
lines changed

drivers/net/ethernet/mellanox/mlx5/core/fs_core.c

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -346,14 +346,10 @@ static void tree_put_node(struct fs_node *node, bool locked)
346346
if (parent_node) {
347347
down_write_ref_node(parent_node, locked);
348348
list_del_init(&node->list);
349-
if (node->del_sw_func)
350-
node->del_sw_func(node);
351-
up_write_ref_node(parent_node, locked);
352-
} else if (node->del_sw_func) {
353-
node->del_sw_func(node);
354-
} else {
355-
kfree(node);
356349
}
350+
node->del_sw_func(node);
351+
if (parent_node)
352+
up_write_ref_node(parent_node, locked);
357353
node = NULL;
358354
}
359355
if (!node && parent_node)
@@ -2352,6 +2348,11 @@ static int init_root_tree(struct mlx5_flow_steering *steering,
23522348
return 0;
23532349
}
23542350

2351+
static void del_sw_root_ns(struct fs_node *node)
2352+
{
2353+
kfree(node);
2354+
}
2355+
23552356
static struct mlx5_flow_root_namespace
23562357
*create_root_ns(struct mlx5_flow_steering *steering,
23572358
enum fs_flow_table_type table_type)
@@ -2378,7 +2379,7 @@ static struct mlx5_flow_root_namespace
23782379
ns = &root_ns->ns;
23792380
fs_init_namespace(ns);
23802381
mutex_init(&root_ns->chain_lock);
2381-
tree_init_node(&ns->node, NULL, NULL);
2382+
tree_init_node(&ns->node, NULL, del_sw_root_ns);
23822383
tree_add_node(&ns->node, NULL);
23832384

23842385
return root_ns;

0 commit comments

Comments
 (0)