mlxsw: spectrum_nve: Do not take reference when looking up netdevice
mlxsw_sp_nve_fid_disable() is always called under RTNL. It is therefore safe to call __dev_get_by_index() to get the netdevice pointer without bumping the reference count, because we can be sure the netdevice is not going away. That then obviates the need to put the netdevice later in the function. Signed-off-by: Petr Machata <petrm@nvidia.com> Reviewed-by: Ido Schimmel <idosch@nvidia.com> Reviewed-by: Eric Dumazet <edumazet@google.com> Link: https://lore.kernel.org/r/341d1046f89d8d839d9d00e4a3d58cdc351e9397.1690471774.git.petrm@nvidia.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
parent
569f98b36b
commit
16f8c846cd
@ -989,6 +989,9 @@ void mlxsw_sp_nve_fid_disable(struct mlxsw_sp *mlxsw_sp,
|
||||
int nve_ifindex;
|
||||
__be32 vni;
|
||||
|
||||
/* Necessary for __dev_get_by_index() below. */
|
||||
ASSERT_RTNL();
|
||||
|
||||
mlxsw_sp_nve_flood_ip_flush(mlxsw_sp, fid);
|
||||
mlxsw_sp_nve_fdb_flush_by_fid(mlxsw_sp, fid_index);
|
||||
mlxsw_sp_nve_ipv6_addr_flush_by_fid(mlxsw_sp, fid_index);
|
||||
@ -997,15 +1000,13 @@ void mlxsw_sp_nve_fid_disable(struct mlxsw_sp *mlxsw_sp,
|
||||
mlxsw_sp_fid_vni(fid, &vni)))
|
||||
goto out;
|
||||
|
||||
nve_dev = dev_get_by_index(mlxsw_sp_net(mlxsw_sp), nve_ifindex);
|
||||
nve_dev = __dev_get_by_index(mlxsw_sp_net(mlxsw_sp), nve_ifindex);
|
||||
if (!nve_dev)
|
||||
goto out;
|
||||
|
||||
mlxsw_sp_nve_fdb_clear_offload(mlxsw_sp, fid, nve_dev, vni);
|
||||
mlxsw_sp_fid_fdb_clear_offload(fid, nve_dev);
|
||||
|
||||
dev_put(nve_dev);
|
||||
|
||||
out:
|
||||
mlxsw_sp_fid_vni_clear(fid);
|
||||
mlxsw_sp_nve_tunnel_fini(mlxsw_sp);
|
||||
|
Loading…
x
Reference in New Issue
Block a user