diff options
author | Chris Mi <[email protected]> | 2022-10-01 21:56:31 -0700 |
---|---|---|
committer | Jakub Kicinski <[email protected]> | 2022-10-03 16:55:29 -0700 |
commit | 909ffe462a18041f064656b796999bb524c72a66 (patch) | |
tree | 5b021d1c5812222eae1e6fb97e763890ca121388 | |
parent | 8c9cc1eb90c13ee3ec2a8a52af4e564a9b161047 (diff) |
net/mlx5: E-switch, Don't update group if qos is not enabled
Currently, qos group will be updated and qos will be enabled when
unregistering devlink port. Actually no need to update group if qos
is not enabled.
Add a check to prevent unnecessary enabling and disabling qos for
every port.
Signed-off-by: Chris Mi <[email protected]>
Reviewed-by: Dmytro Linkin <[email protected]>
Signed-off-by: Saeed Mahameed <[email protected]>
Signed-off-by: Jakub Kicinski <[email protected]>
-rw-r--r-- | drivers/net/ethernet/mellanox/mlx5/core/esw/qos.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/net/ethernet/mellanox/mlx5/core/esw/qos.c b/drivers/net/ethernet/mellanox/mlx5/core/esw/qos.c index 694c54066955..4f8a24d84a86 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/esw/qos.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/esw/qos.c @@ -924,12 +924,16 @@ int mlx5_esw_qos_vport_update_group(struct mlx5_eswitch *esw, struct mlx5_esw_rate_group *group, struct netlink_ext_ack *extack) { - int err; + int err = 0; mutex_lock(&esw->state_lock); + if (!vport->qos.enabled && !group) + goto unlock; + err = esw_qos_vport_enable(esw, vport, 0, 0, extack); if (!err) err = esw_qos_vport_update_group(esw, vport, group, extack); +unlock: mutex_unlock(&esw->state_lock); return err; } |