[PATCH] net/mlx5: fallback to verbs for Tx memory allocation if devx unsupported
banoth.saikumar at oracle.com
banoth.saikumar at oracle.com
Mon Mar 23 12:34:02 CET 2026
From: Banoth Saikumar <banoth.saikumar at oracle.com>
Previously, the mlx5 PMD attempted to allocate consecutive Tx memory
using DevX without checking whether the NIC actually supported DevX.
This led to allocation failures on legacy or unsupported NICs.
This patch adds a fallback mechanism: if DevX is not available, the PMD
skips DevX-based allocation and allows the verbs path to handle memory
allocation and registration. This improves compatibility with older
NICs and ensures Tx queue setup proceeds correctly.
Fixes: bbfab2eb2528 ("net/mlx5: allocate and release unique
resources for Tx queues")
Cc: stable at dpdk.org
Signed-off-by: Banoth Saikumar <banoth.saikumar at oracle.com>
---
drivers/net/mlx5/mlx5_trigger.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/mlx5/mlx5_trigger.c b/drivers/net/mlx5/mlx5_trigger.c
index 6c6f228..c9ce3d4 100644
--- a/drivers/net/mlx5/mlx5_trigger.c
+++ b/drivers/net/mlx5/mlx5_trigger.c
@@ -1161,7 +1161,7 @@ static int mlx5_dev_allocate_consec_tx_mem(struct rte_eth_dev *dev)
void *umem_buf = NULL;
/* Legacy per queue allocation, do nothing here. */
- if (priv->sh->config.txq_mem_algn == 0)
+ if (priv->sh->config.txq_mem_algn == 0 || !priv->sh->cdev->config.devx)
return 0;
alignment = (size_t)1 << priv->sh->config.txq_mem_algn;
total_size = priv->consec_tx_mem.sq_total_size + priv->consec_tx_mem.cq_total_size;
--
1.8.3.1
More information about the dev
mailing list