[dpdk-stable] [dpdk-dev] [PATCH] net/mlx5: fix Tx queue start

Raslan Darawsheh rasland at nvidia.com
Tue Oct 27 15:02:22 CET 2020


Hi,

> -----Original Message-----
> From: dev <dev-bounces at dpdk.org> On Behalf Of Matan Azrad
> Sent: Tuesday, October 27, 2020 8:43 AM
> To: Slava Ovsiienko <viacheslavo at nvidia.com>
> Cc: dev at dpdk.org; stable at dpdk.org
> Subject: [dpdk-dev] [PATCH] net/mlx5: fix Tx queue start
> 
> The Tx queue stop\start operations update the HW state of the Tx queue
> object. The stop API should update the state from ready to reset in
> order to stop any queue traffic and the start API should update the state
> from reset to ready in order to open the traffic path.
> 
> The start API wrongly tried to change the state from ready to ready what
> caused a failure in FW on the current state validation.
> 
> Replace ready to ready command by reset to ready command in the Tx start
> API.
> 
> Fixes: 161d103b231c ("net/mlx5: add queue start and stop")
> Cc: stable at dpdk.org
> 
> Signed-off-by: Matan Azrad <matan at nvidia.com>
> Acked-by: Viacheslav Ovsiienko <viacheslavo at nvidia.com>
> Acked-by: Asaf Penso <asafp at nvidia.com>
> ---
>  drivers/net/mlx5/mlx5.h     | 1 -
>  drivers/net/mlx5/mlx5_txq.c | 2 +-
>  2 files changed, 1 insertion(+), 2 deletions(-)
> 
> diff --git a/drivers/net/mlx5/mlx5.h b/drivers/net/mlx5/mlx5.h
> index 7429811..0902628 100644
> --- a/drivers/net/mlx5/mlx5.h
> +++ b/drivers/net/mlx5/mlx5.h
> @@ -788,7 +788,6 @@ enum mlx5_rxq_modify_type {
>  };
> 
>  enum mlx5_txq_modify_type {
> -	MLX5_TXQ_MOD_RDY2RDY, /* modify state from ready to ready. */
>  	MLX5_TXQ_MOD_RST2RDY, /* modify state from reset to ready. */
>  	MLX5_TXQ_MOD_RDY2RST, /* modify state from ready to reset. */
>  	MLX5_TXQ_MOD_ERR2RDY, /* modify state from error to ready. */
> diff --git a/drivers/net/mlx5/mlx5_txq.c b/drivers/net/mlx5/mlx5_txq.c
> index dca9c05..605cbfc 100644
> --- a/drivers/net/mlx5/mlx5_txq.c
> +++ b/drivers/net/mlx5/mlx5_txq.c
> @@ -253,7 +253,7 @@
> 
>  	MLX5_ASSERT(rte_eal_process_type() ==  RTE_PROC_PRIMARY);
>  	ret = priv->obj_ops.txq_obj_modify(txq_ctrl->obj,
> -					   MLX5_TXQ_MOD_RDY2RDY,
> +					   MLX5_TXQ_MOD_RST2RDY,
>  					   (uint8_t)priv->dev_port);
>  	if (ret)
>  		return ret;
> --
> 1.8.3.1

Patch applied to next-net-mlx,

Kindest regards,
Raslan Darawsheh


More information about the stable mailing list