net/mlx5: fix Tx queue completion on stop

The Tx queue completion production index was not reset
on Tx queue stop and there were completions remaining
from the previous queue run. This caused the wrong
completion queue operating and overall Tx queue malfunction
on queue restart.

Fixes: 161d103b23 ("net/mlx5: add queue start and stop")
Cc: stable@dpdk.org

Signed-off-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com>
Acked-by: Matan Azrad <matan@nvidia.com>
This commit is contained in:
Viacheslav Ovsiienko 2020-11-06 16:58:03 +00:00 committed by Ferruh Yigit
parent 70d83ebbbb
commit 27b095072b

View File

@ -154,6 +154,7 @@ txq_sync_cq(struct mlx5_txq_data *txq)
/* Resync CQE and WQE (WQ in reset state). */
rte_io_wmb();
*txq->cq_db = rte_cpu_to_be_32(txq->cq_ci);
txq->cq_pi = txq->cq_ci;
rte_io_wmb();
}