From: Bodong Wang <bod...@mellanox.com>

When eswitch gets vport data structure, the index should not be out
of the range of the vport array. Driver mistakenly used vport number
to check the range.

Fixes: 22b8ddc86bf4 ("net/mlx5: E-Switch, Assign a different position for 
uplink rep and vport")
Signed-off-by: Bodong Wang <bod...@mellanox.com>
Signed-off-by: Saeed Mahameed <sae...@mellanox.com>
---
 drivers/net/ethernet/mellanox/mlx5/core/eswitch.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/ethernet/mellanox/mlx5/core/eswitch.c 
b/drivers/net/ethernet/mellanox/mlx5/core/eswitch.c
index e18af31336e6..d4f6859bf58c 100644
--- a/drivers/net/ethernet/mellanox/mlx5/core/eswitch.c
+++ b/drivers/net/ethernet/mellanox/mlx5/core/eswitch.c
@@ -87,7 +87,7 @@ static struct mlx5_vport *mlx5_eswitch_get_vport(struct 
mlx5_eswitch *esw,
 {
        u16 idx = mlx5_eswitch_vport_num_to_index(esw, vport_num);
 
-       WARN_ON(vport_num > esw->total_vports - 1);
+       WARN_ON(idx > esw->total_vports - 1);
        return &esw->vports[idx];
 }
 
-- 
2.20.1

Reply via email to