mlxsw: spectrum: Change init order
The multicast router offloading code is going to require the counter_pools initialization to occur before the router initialization, thus, change the spectrum initialization order to fix it. Signed-off-by: Yotam Gigi <yotamg@mellanox.com> Reviewed-by: Ido Schimmel <idosch@mellanox.com> Signed-off-by: Jiri Pirko <jiri@mellanox.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
7670712707
commit
e2b2d35a05
@ -3693,6 +3693,12 @@ static int mlxsw_sp_init(struct mlxsw_core *mlxsw_core,
|
||||
goto err_switchdev_init;
|
||||
}
|
||||
|
||||
err = mlxsw_sp_counter_pool_init(mlxsw_sp);
|
||||
if (err) {
|
||||
dev_err(mlxsw_sp->bus_info->dev, "Failed to init counter pool\n");
|
||||
goto err_counter_pool_init;
|
||||
}
|
||||
|
||||
err = mlxsw_sp_router_init(mlxsw_sp);
|
||||
if (err) {
|
||||
dev_err(mlxsw_sp->bus_info->dev, "Failed to initialize router\n");
|
||||
@ -3711,12 +3717,6 @@ static int mlxsw_sp_init(struct mlxsw_core *mlxsw_core,
|
||||
goto err_acl_init;
|
||||
}
|
||||
|
||||
err = mlxsw_sp_counter_pool_init(mlxsw_sp);
|
||||
if (err) {
|
||||
dev_err(mlxsw_sp->bus_info->dev, "Failed to init counter pool\n");
|
||||
goto err_counter_pool_init;
|
||||
}
|
||||
|
||||
err = mlxsw_sp_dpipe_init(mlxsw_sp);
|
||||
if (err) {
|
||||
dev_err(mlxsw_sp->bus_info->dev, "Failed to init pipeline debug\n");
|
||||
@ -3734,14 +3734,14 @@ static int mlxsw_sp_init(struct mlxsw_core *mlxsw_core,
|
||||
err_ports_create:
|
||||
mlxsw_sp_dpipe_fini(mlxsw_sp);
|
||||
err_dpipe_init:
|
||||
mlxsw_sp_counter_pool_fini(mlxsw_sp);
|
||||
err_counter_pool_init:
|
||||
mlxsw_sp_acl_fini(mlxsw_sp);
|
||||
err_acl_init:
|
||||
mlxsw_sp_span_fini(mlxsw_sp);
|
||||
err_span_init:
|
||||
mlxsw_sp_router_fini(mlxsw_sp);
|
||||
err_router_init:
|
||||
mlxsw_sp_counter_pool_fini(mlxsw_sp);
|
||||
err_counter_pool_init:
|
||||
mlxsw_sp_switchdev_fini(mlxsw_sp);
|
||||
err_switchdev_init:
|
||||
mlxsw_sp_lag_fini(mlxsw_sp);
|
||||
@ -3760,10 +3760,10 @@ static void mlxsw_sp_fini(struct mlxsw_core *mlxsw_core)
|
||||
|
||||
mlxsw_sp_ports_remove(mlxsw_sp);
|
||||
mlxsw_sp_dpipe_fini(mlxsw_sp);
|
||||
mlxsw_sp_counter_pool_fini(mlxsw_sp);
|
||||
mlxsw_sp_acl_fini(mlxsw_sp);
|
||||
mlxsw_sp_span_fini(mlxsw_sp);
|
||||
mlxsw_sp_router_fini(mlxsw_sp);
|
||||
mlxsw_sp_counter_pool_fini(mlxsw_sp);
|
||||
mlxsw_sp_switchdev_fini(mlxsw_sp);
|
||||
mlxsw_sp_lag_fini(mlxsw_sp);
|
||||
mlxsw_sp_buffers_fini(mlxsw_sp);
|
||||
|
Loading…
x
Reference in New Issue
Block a user