From: Roi Dayan <r...@mellanox.com>

Split the activate lag function in order to be symmetric with
the deactivate lag function.

Signed-off-by: Roi Dayan <r...@mellanox.com>
Signed-off-by: Shahar Klein <shah...@mellanox.com>
Reviewed-by: Aviv Heller <av...@mellanox.com>
Signed-off-by: Saeed Mahameed <sae...@mellanox.com>
---
 drivers/net/ethernet/mellanox/mlx5/core/lag.c | 14 ++++++++++----
 1 file changed, 10 insertions(+), 4 deletions(-)

diff --git a/drivers/net/ethernet/mellanox/mlx5/core/lag.c 
b/drivers/net/ethernet/mellanox/mlx5/core/lag.c
index 582b2f18010a..75f7c8efaab5 100644
--- a/drivers/net/ethernet/mellanox/mlx5/core/lag.c
+++ b/drivers/net/ethernet/mellanox/mlx5/core/lag.c
@@ -186,14 +186,12 @@ static void mlx5_infer_tx_affinity_mapping(struct 
lag_tracker *tracker,
                *port2 = 1;
 }
 
-static void mlx5_activate_lag(struct mlx5_lag *ldev,
-                             struct lag_tracker *tracker)
+static int mlx5_create_lag(struct mlx5_lag *ldev,
+                          struct lag_tracker *tracker)
 {
        struct mlx5_core_dev *dev0 = ldev->pf[0].dev;
        int err;
 
-       ldev->flags |= MLX5_LAG_FLAG_BONDED;
-
        mlx5_infer_tx_affinity_mapping(tracker, &ldev->v2p_map[0],
                                       &ldev->v2p_map[1]);
 
@@ -202,6 +200,14 @@ static void mlx5_activate_lag(struct mlx5_lag *ldev,
                mlx5_core_err(dev0,
                              "Failed to create LAG (%d)\n",
                              err);
+       return err;
+}
+
+static void mlx5_activate_lag(struct mlx5_lag *ldev,
+                             struct lag_tracker *tracker)
+{
+       ldev->flags |= MLX5_LAG_FLAG_BONDED;
+       mlx5_create_lag(ldev, tracker);
 }
 
 static void mlx5_deactivate_lag(struct mlx5_lag *ldev)
-- 
2.19.2

Reply via email to