From: Viacheslav Ovsiienko Date: Wed, 21 Apr 2021 08:10:13 +0000 (+0000) Subject: net/mlx5: fix probing device in legacy bonding mode X-Git-Url: http://git.droids-corp.org/?a=commitdiff_plain;h=ecaee305b811036d297eda04ad7c91d8349de77e;p=dpdk.git net/mlx5: fix probing device in legacy bonding mode If the device was configured as legacy bond one (without involving E-Switch), the mlx5 PMD erroneously tried to deduce the vport index raising the fatal error and preventing device from being used. The patch checks whether there is E-Switch present and we should use vport index indeed. Fixes: 2eb4d0107acc ("net/mlx5: refactor PCI probing on Linux") Fixes: d5c06b1b10ae ("net/mlx5: query vport index match mode and parameters") Cc: stable@dpdk.org Signed-off-by: Viacheslav Ovsiienko --- diff --git a/drivers/net/mlx5/linux/mlx5_os.c b/drivers/net/mlx5/linux/mlx5_os.c index 17d0533c1b..479ee7d8d1 100644 --- a/drivers/net/mlx5/linux/mlx5_os.c +++ b/drivers/net/mlx5/linux/mlx5_os.c @@ -1097,7 +1097,8 @@ err_secondary: } if (devx_port.comp_mask & MLX5DV_DEVX_PORT_VPORT) { priv->vport_id = devx_port.vport_num; - } else if (spawn->pf_bond >= 0) { + } else if (spawn->pf_bond >= 0 && + (switch_info->representor || switch_info->master)) { DRV_LOG(ERR, "can't deduce vport index for port %d" " on bonding device %s", spawn->phys_port,