Commit 19f100fe authored by Maor Gottlieb's avatar Maor Gottlieb Committed by Saeed Mahameed

net/mlx5: Refactor FTE and FG creation code

Split the creation code to two parts:
1) Object allocation - allocate the steering node and initialize
its resources.

2) The firmware command execution.

Adding active flag to each node - this flag indicates if the
object exists in the hardware or not, if not we don't free
the hardware resource in error flow.

This change will give us the ability to take write lock on the
parent node (e.g. FG for FTE creationg) only on the first part.
Signed-off-by: default avatarMaor Gottlieb <maorg@mellanox.com>
Signed-off-by: default avatarSaeed Mahameed <saeedm@mellanox.com>
parent 46719d77
...@@ -82,6 +82,7 @@ struct fs_node { ...@@ -82,6 +82,7 @@ struct fs_node {
/* lock the node for writing and traversing */ /* lock the node for writing and traversing */
struct mutex lock; struct mutex lock;
atomic_t refcount; atomic_t refcount;
bool active;
void (*remove_func)(struct fs_node *); void (*remove_func)(struct fs_node *);
}; };
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment