mirror of https://gitee.com/openkylin/linux.git
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: cb67b83292
('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>
This commit is contained in:
parent
84c9c8f2ac
commit
5ecadff0b6
|
@ -209,7 +209,7 @@ static void mlx5e_sqs2vport_stop(struct mlx5_eswitch *esw,
|
||||||
|
|
||||||
static int mlx5e_sqs2vport_start(struct mlx5_eswitch *esw,
|
static int mlx5e_sqs2vport_start(struct mlx5_eswitch *esw,
|
||||||
struct mlx5_eswitch_rep *rep,
|
struct mlx5_eswitch_rep *rep,
|
||||||
u16 *sqns_array, int sqns_num)
|
u32 *sqns_array, int sqns_num)
|
||||||
{
|
{
|
||||||
struct mlx5_flow_handle *flow_rule;
|
struct mlx5_flow_handle *flow_rule;
|
||||||
struct mlx5e_rep_priv *rpriv;
|
struct mlx5e_rep_priv *rpriv;
|
||||||
|
@ -255,9 +255,9 @@ int mlx5e_add_sqs_fwd_rules(struct mlx5e_priv *priv)
|
||||||
struct mlx5e_channel *c;
|
struct mlx5e_channel *c;
|
||||||
int n, tc, num_sqs = 0;
|
int n, tc, num_sqs = 0;
|
||||||
int err = -ENOMEM;
|
int err = -ENOMEM;
|
||||||
u16 *sqs;
|
u32 *sqs;
|
||||||
|
|
||||||
sqs = kcalloc(priv->channels.num * priv->channels.params.num_tc, sizeof(u16), GFP_KERNEL);
|
sqs = kcalloc(priv->channels.num * priv->channels.params.num_tc, sizeof(*sqs), GFP_KERNEL);
|
||||||
if (!sqs)
|
if (!sqs)
|
||||||
goto out;
|
goto out;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue