|
@@ -1872,9 +1872,6 @@ static void mlxsw_sp_router_fib_flush(struct mlxsw_sp *mlxsw_sp)
|
|
struct mlxsw_sp_vr *vr;
|
|
struct mlxsw_sp_vr *vr;
|
|
int i;
|
|
int i;
|
|
|
|
|
|
- if (mlxsw_sp->router.aborted)
|
|
|
|
- return;
|
|
|
|
- dev_warn(mlxsw_sp->bus_info->dev, "FIB abort triggered. Note that FIB entries are no longer being offloaded to this device.\n");
|
|
|
|
for (i = 0; i < MLXSW_CORE_RES_GET(mlxsw_sp->core, MAX_VRS); i++) {
|
|
for (i = 0; i < MLXSW_CORE_RES_GET(mlxsw_sp->core, MAX_VRS); i++) {
|
|
vr = &mlxsw_sp->router.vrs[i];
|
|
vr = &mlxsw_sp->router.vrs[i];
|
|
|
|
|
|
@@ -1899,6 +1896,9 @@ static void mlxsw_sp_router_fib4_abort(struct mlxsw_sp *mlxsw_sp)
|
|
{
|
|
{
|
|
int err;
|
|
int err;
|
|
|
|
|
|
|
|
+ if (mlxsw_sp->router.aborted)
|
|
|
|
+ return;
|
|
|
|
+ dev_warn(mlxsw_sp->bus_info->dev, "FIB abort triggered. Note that FIB entries are no longer being offloaded to this device.\n");
|
|
mlxsw_sp_router_fib_flush(mlxsw_sp);
|
|
mlxsw_sp_router_fib_flush(mlxsw_sp);
|
|
mlxsw_sp->router.aborted = true;
|
|
mlxsw_sp->router.aborted = true;
|
|
err = mlxsw_sp_router_set_abort_trap(mlxsw_sp);
|
|
err = mlxsw_sp_router_set_abort_trap(mlxsw_sp);
|