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@dpdk.org
Signed-off-by: Matan Azrad <matan@nvidia.com>
Acked-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com>
Acked-by: Asaf Penso <asafp@nvidia.com>
};
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. */
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;