aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOr Gerlitz <ogerlitz@mellanox.com>2018-02-13 06:43:39 -0500
committerSaeed Mahameed <saeedm@mellanox.com>2018-03-26 16:58:15 -0400
commit5ecadff0b6cfb52ba5d1bd07c6372acea5418c39 (patch)
tree76365bb7d3d65f15a073932144a71c5b6f68f830
parent84c9c8f2ac3c22924d30643894fcf7597c633d3e (diff)
net/mlx5e: Use 32 bits to store VF representor SQ number
SQs are 32 and not 16 bits, hence it's wrong to use only 16 bits to store the sq number for which are going to set steering rule, fix that. Fixes: cb67b832921c ('net/mlx5e: Introduce SRIOV VF representors') Signed-off-by: Or Gerlitz <ogerlitz@mellanox.com> Reviewed-by: Mark Bloch <markb@mellanox.com> Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
-rw-r--r--drivers/net/ethernet/mellanox/mlx5/core/en_rep.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_rep.c b/drivers/net/ethernet/mellanox/mlx5/core/en_rep.c
index 0273c233bc85..738554a6c69f 100644
--- a/drivers/net/ethernet/mellanox/mlx5/core/en_rep.c
+++ b/drivers/net/ethernet/mellanox/mlx5/core/en_rep.c
@@ -209,7 +209,7 @@ static void mlx5e_sqs2vport_stop(struct mlx5_eswitch *esw,
209 209
210static int mlx5e_sqs2vport_start(struct mlx5_eswitch *esw, 210static int mlx5e_sqs2vport_start(struct mlx5_eswitch *esw,
211 struct mlx5_eswitch_rep *rep, 211 struct mlx5_eswitch_rep *rep,
212 u16 *sqns_array, int sqns_num) 212 u32 *sqns_array, int sqns_num)
213{ 213{
214 struct mlx5_flow_handle *flow_rule; 214 struct mlx5_flow_handle *flow_rule;
215 struct mlx5e_rep_priv *rpriv; 215 struct mlx5e_rep_priv *rpriv;
@@ -255,9 +255,9 @@ int mlx5e_add_sqs_fwd_rules(struct mlx5e_priv *priv)
255 struct mlx5e_channel *c; 255 struct mlx5e_channel *c;
256 int n, tc, num_sqs = 0; 256 int n, tc, num_sqs = 0;
257 int err = -ENOMEM; 257 int err = -ENOMEM;
258 u16 *sqs; 258 u32 *sqs;
259 259
260 sqs = kcalloc(priv->channels.num * priv->channels.params.num_tc, sizeof(u16), GFP_KERNEL); 260 sqs = kcalloc(priv->channels.num * priv->channels.params.num_tc, sizeof(*sqs), GFP_KERNEL);
261 if (!sqs) 261 if (!sqs)
262 goto out; 262 goto out;
263 263