From 3ef18940ef13fe8cb307aba0dba2bc316fb873a2 Mon Sep 17 00:00:00 2001 From: Bing Zhao Date: Thu, 3 Mar 2022 17:26:58 +0200 Subject: [PATCH] net/mlx5: fix configuration without Rx queue None Rx queue configured in a DPDK application should be supported. In this mode, the NIC can be used to generate packets without receiving any ingress traffic. In the current implementation, once there is no Rx queue specified, the array to store the queues' pointers is NULL after allocation. Then the checking of the array allocation prevents the application from starting up. By adding another condition checking of the Rx queue number, the application with none Rx queue can start up successfully. Fixes: 4cda06c3c35e ("net/mlx5: split Rx queue into shareable and private") Cc: stable@dpdk.org Signed-off-by: Bing Zhao Acked-by: Viacheslav Ovsiienko --- drivers/net/mlx5/mlx5_ethdev.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/mlx5/mlx5_ethdev.c b/drivers/net/mlx5/mlx5_ethdev.c index de0ba2b1ff..05c919ed39 100644 --- a/drivers/net/mlx5/mlx5_ethdev.c +++ b/drivers/net/mlx5/mlx5_ethdev.c @@ -111,7 +111,7 @@ mlx5_dev_configure(struct rte_eth_dev *dev) MLX5_MEM_RTE | MLX5_MEM_ZERO, sizeof(void *) * rxqs_n, 0, SOCKET_ID_ANY); - if (priv->rxq_privs == NULL) { + if (rxqs_n && priv->rxq_privs == NULL) { DRV_LOG(ERR, "port %u cannot allocate rxq private data", dev->data->port_id); rte_errno = ENOMEM; -- 2.20.1