net/mlx5: support no host PF configuration

Message ID (mailing list archive)
State New
Delegated to: Raslan Darawsheh
Series net/mlx5: support no host PF configuration |


Context Check Description
ci/checkpatch success coding style OK
ci/loongarch-compilation success Compilation OK
ci/loongarch-unit-testing success Unit Testing PASS
ci/Intel-compilation success Compilation OK
ci/intel-Testing success Testing PASS
ci/github-robot: build success github build: passed
ci/intel-Functional success Functional PASS
ci/iol-mellanox-Performance success Performance Testing PASS
ci/iol-intel-Performance success Performance Testing PASS
ci/iol-unit-arm64-testing success Testing PASS
ci/iol-compile-amd64-testing success Testing PASS
ci/iol-compile-arm64-testing success Testing PASS
ci/iol-unit-amd64-testing success Testing PASS
ci/iol-broadcom-Performance success Performance Testing PASS
ci/iol-intel-Functional success Functional Testing PASS
ci/iol-broadcom-Functional success Functional Testing PASS
ci/iol-sample-apps-testing success Testing PASS

Commit Message

Jiawei Wang Oct. 11, 2023, 6:41 a.m. UTC
  From: Xueming Li <>

In BlueField, a new firmware configuration option NUM_OF_PF=0 disables
PF on the x86 host side, no HPF on the ARM side, and the only RDMA port
on the ARM side is the bonding device(PF0). A device probe with devargs
of representor=pf[0-1]vf[...] will probe PF0 and PF1 one by one, and
it's possible that PF1 device scan results in no switch ports.

This patch supports the new configuration by allowing a PF scan with
empty switch ports.

Signed-off-by: Xueming Li <>
Signed-off-by: Jiawei Wang <>
 drivers/net/mlx5/linux/mlx5_os.c | 7 -------
 1 file changed, 7 deletions(-)


diff --git a/drivers/net/mlx5/linux/mlx5_os.c b/drivers/net/mlx5/linux/mlx5_os.c
index d5ef695e6d..75f53ade8e 100644
--- a/drivers/net/mlx5/linux/mlx5_os.c
+++ b/drivers/net/mlx5/linux/mlx5_os.c
@@ -2195,13 +2195,6 @@  mlx5_os_pci_probe_pf(struct mlx5_common_device *cdev,
-		if (!ns) {
-				"Unable to recognize master/representors on the IB device with multiple ports.");
-			rte_errno = ENOENT;
-			ret = -rte_errno;
-			goto exit;
-		}
 	} else {
 		 * The existence of several matching entries (nd > 1) means