Hi, Thank you for the contribution. Please see below.
On Mon, Mar 23, 2026 at 05:04:02PM +0530, [email protected] wrote: > From: Banoth Saikumar <[email protected]> > > 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: [email protected] > > Signed-off-by: Banoth Saikumar <[email protected]> > --- > 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) Please use mlx5_devx_obj_ops_en() function instead of directly checking priv->sh->cdev->config.devx field. > 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; Best regards, Dariusz Sosnowski

