Commit 2019b5ee authored by Petr Machata's avatar Petr Machata Committed by Paolo Abeni
Browse files

mlxsw: spectrum_router: Access rif->dev from params in mlxsw_sp_rif_create()



The previous patch added a helper to access a netdevice given a RIF. Using
this helper in mlxsw_sp_rif_create() is unreasonable: the netdevice was
given in RIF creation parameters. Just take it there.

Signed-off-by: default avatarPetr Machata <petrm@nvidia.com>
Reviewed-by: default avatarAmit Cohen <amcohen@nvidia.com>
Signed-off-by: default avatarPaolo Abeni <pabeni@redhat.com>
parent fb6ac45e
Loading
Loading
Loading
Loading
+4 −4
Original line number Original line Diff line number Diff line
@@ -8138,7 +8138,7 @@ mlxsw_sp_rif_create(struct mlxsw_sp *mlxsw_sp,
		err = -ENOMEM;
		err = -ENOMEM;
		goto err_rif_alloc;
		goto err_rif_alloc;
	}
	}
	dev_hold(rif->dev);
	dev_hold(params->dev);
	mlxsw_sp->router->rifs[rif_index] = rif;
	mlxsw_sp->router->rifs[rif_index] = rif;
	rif->mlxsw_sp = mlxsw_sp;
	rif->mlxsw_sp = mlxsw_sp;
	rif->ops = ops;
	rif->ops = ops;
@@ -8166,12 +8166,12 @@ mlxsw_sp_rif_create(struct mlxsw_sp *mlxsw_sp,
			goto err_mr_rif_add;
			goto err_mr_rif_add;
	}
	}


	if (netdev_offload_xstats_enabled(rif->dev,
	if (netdev_offload_xstats_enabled(params->dev,
					  NETDEV_OFFLOAD_XSTATS_TYPE_L3)) {
					  NETDEV_OFFLOAD_XSTATS_TYPE_L3)) {
		err = mlxsw_sp_router_port_l3_stats_enable(rif);
		err = mlxsw_sp_router_port_l3_stats_enable(rif);
		if (err)
		if (err)
			goto err_stats_enable;
			goto err_stats_enable;
		mlxsw_sp_router_hwstats_notify_schedule(rif->dev);
		mlxsw_sp_router_hwstats_notify_schedule(params->dev);
	} else {
	} else {
		mlxsw_sp_rif_counters_alloc(rif);
		mlxsw_sp_rif_counters_alloc(rif);
	}
	}
@@ -8189,7 +8189,7 @@ mlxsw_sp_rif_create(struct mlxsw_sp *mlxsw_sp,
		mlxsw_sp_fid_put(fid);
		mlxsw_sp_fid_put(fid);
err_fid_get:
err_fid_get:
	mlxsw_sp->router->rifs[rif_index] = NULL;
	mlxsw_sp->router->rifs[rif_index] = NULL;
	dev_put(rif->dev);
	dev_put(params->dev);
	kfree(rif);
	kfree(rif);
err_rif_alloc:
err_rif_alloc:
	mlxsw_sp_rif_index_free(mlxsw_sp, rif_index, rif_entries);
	mlxsw_sp_rif_index_free(mlxsw_sp, rif_index, rif_entries);