net/mlx5: fix Tx queue completions on stop
Checks
Commit Message
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: 161d103b231c ("net/mlx5: add queue start and stop")
Cc: stable@dpdk.org
Signed-off-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com>
---
drivers/net/mlx5/mlx5_txq.c | 1 +
1 file changed, 1 insertion(+)
Comments
From: Viacheslav Ovsiienko
> 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: 161d103b231c ("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>
Hi,
> -----Original Message-----
> From: Viacheslav Ovsiienko <viacheslavo@nvidia.com>
> Sent: Friday, November 6, 2020 6:58 PM
> To: dev@dpdk.org
> Cc: Raslan Darawsheh <rasland@nvidia.com>; Alexander Kozyrev
> <akozyrev@nvidia.com>; Matan Azrad <matan@nvidia.com>;
> stable@dpdk.org
> Subject: [PATCH] net/mlx5: fix Tx queue completions 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: 161d103b231c ("net/mlx5: add queue start and stop")
> Cc: stable@dpdk.org
>
> Signed-off-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com>
> ---
> drivers/net/mlx5/mlx5_txq.c | 1 +
> 1 file changed, 1 insertion(+)
>
Patch applied to next-net-mlx,
Kindest regards,
Raslan Darawsheh
@@ -154,6 +154,7 @@
/* 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();
}