aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/mellanox/mlx5/core/en_tc.c
diff options
context:
space:
mode:
authorVlad Buslov <vladbu@mellanox.com>2019-04-15 10:10:02 +0300
committerSaeed Mahameed <saeedm@mellanox.com>2019-05-01 14:39:15 -0700
commit0e1c1a2fcfcb6b91db98a60711fa14f9f69a383c (patch)
treed0ccce2c1df835e966494f43e325ee405396100f /drivers/net/ethernet/mellanox/mlx5/core/en_tc.c
parentnet/mlx5e: Replace TC VLAN pop with VLAN 0 rewrite in prio tag mode (diff)
downloadlinux-dev-0e1c1a2fcfcb6b91db98a60711fa14f9f69a383c.tar.xz
linux-dev-0e1c1a2fcfcb6b91db98a60711fa14f9f69a383c.zip
net/mlx5e: Return error when trying to insert existing flower filter
With unlocked TC it is possible to have spurious deletes and inserts of same filter. TC layer needs drivers to always return error when flow insertion failed in order to correctly calculate "in_hw_count" for each filter. Fix mlx5e_configure_flower() to return -EEXIST when TC tries to insert a filter that is already provisioned to the driver. Signed-off-by: Vlad Buslov <vladbu@mellanox.com> Reviewed-by: Roi Dayan <roid@mellanox.com> Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
Diffstat (limited to 'drivers/net/ethernet/mellanox/mlx5/core/en_tc.c')
-rw-r--r--drivers/net/ethernet/mellanox/mlx5/core/en_tc.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_tc.c b/drivers/net/ethernet/mellanox/mlx5/core/en_tc.c
index c79db55f8a76..122f457091a2 100644
--- a/drivers/net/ethernet/mellanox/mlx5/core/en_tc.c
+++ b/drivers/net/ethernet/mellanox/mlx5/core/en_tc.c
@@ -3364,6 +3364,7 @@ int mlx5e_configure_flower(struct net_device *dev, struct mlx5e_priv *priv,
netdev_warn_once(priv->netdev,
"flow cookie %lx already exists, ignoring\n",
f->cookie);
+ err = -EEXIST;
goto out;
}