diff options
author | 2024-03-08 13:59:50 +0100 | |
---|---|---|
committer | 2024-03-11 14:14:08 -0700 | |
commit | 79fa52145e19803ed47bd5f2136c19c5e16f512d (patch) | |
tree | 050f534219fc0637a916cc60eaf36dcc4dd03bbc /drivers | |
parent | mlxsw: spectrum: Allow fetch-and-clear of flow counters (diff) | |
download | linux-79fa52145e19803ed47bd5f2136c19c5e16f512d.tar.gz linux-79fa52145e19803ed47bd5f2136c19c5e16f512d.tar.bz2 linux-79fa52145e19803ed47bd5f2136c19c5e16f512d.zip |
mlxsw: spectrum_router: Avoid allocating NH counters twice
mlxsw_sp_nexthop_counter_disable() decays to a nop when called on a
disabled counter, but mlxsw_sp_nexthop_counter_enable() can't similarly
be called on an enabled counter. This would be useful in the following
patches. Add the missing condition.
Signed-off-by: Petr Machata <petrm@nvidia.com>
Reviewed-by: Ido Schimmel <idosch@nvidia.com>
Link: https://lore.kernel.org/r/0cc9050e196366c1387ab5ee47f1cee8ecde9c86.1709901020.git.petrm@nvidia.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c b/drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c index 2df95b5a444f..a724484614ab 100644 --- a/drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c +++ b/drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c @@ -3157,6 +3157,9 @@ int mlxsw_sp_nexthop_counter_enable(struct mlxsw_sp *mlxsw_sp, struct devlink *devlink; int err; + if (nh->counter_valid) + return 0; + devlink = priv_to_devlink(mlxsw_sp->core); if (!devlink_dpipe_table_counter_enabled(devlink, MLXSW_SP_DPIPE_TABLE_NAME_ADJ)) |