From: Viacheslav Ovsiienko Date: Wed, 28 Apr 2021 09:18:19 +0000 (+0300) Subject: net/mlx5: fix Tx queue doorbell record field offset X-Git-Url: http://git.droids-corp.org/?a=commitdiff_plain;h=31625e62882a4aae95a9dceead5854c9300a4532;p=dpdk.git net/mlx5: fix Tx queue doorbell record field offset If the Send Queue (backing one for PMD Tx queue) the was created with DevX API the doorbell record offset for the producer index field was incorrect. If hardware missed the doorbell register write event the wrong content of doorbell record might cause queue malfunction. For the Send Queues created with Verbs API the doorbell record offset was configured correctly. Fixes: 86d259cec852 ("net/mlx5: separate Tx queue object creations") Cc: stable@dpdk.org Signed-off-by: Viacheslav Ovsiienko --- diff --git a/drivers/net/mlx5/mlx5_devx.c b/drivers/net/mlx5/mlx5_devx.c index 76d31f5539..531a81d7fa 100644 --- a/drivers/net/mlx5/mlx5_devx.c +++ b/drivers/net/mlx5/mlx5_devx.c @@ -1113,7 +1113,7 @@ mlx5_txq_devx_obj_new(struct rte_eth_dev *dev, uint16_t idx) txq_data->wqe_pi = 0; txq_data->wqe_comp = 0; txq_data->wqe_thres = txq_data->wqe_s / MLX5_TX_COMP_THRESH_INLINE_DIV; - txq_data->qp_db = txq_obj->sq_obj.db_rec; + txq_data->qp_db = &txq_obj->sq_obj.db_rec[MLX5_SND_DBR]; *txq_data->qp_db = 0; txq_data->qp_num_8s = txq_obj->sq_obj.sq->id << 8; /* Change Send Queue state to Ready-to-Send. */