DPDK patches and discussions
 help / color / mirror / Atom feed
* [PATCH] net/mlx5: fix Tx recovery
@ 2022-05-18  9:42 Raja Zidane
  2022-05-23 11:32 ` Raslan Darawsheh
  0 siblings, 1 reply; 2+ messages in thread
From: Raja Zidane @ 2022-05-18  9:42 UTC (permalink / raw)
  To: dev; +Cc: matan, stable, Dmitry Kozlyuk

When an error occurs in Tx, and it is moved to ERROR state, it
is not recoverable, during recovery it's state cannot be modified
to INIT. to modify state from RESET to INIT, the port must be
passed in modify attributes, and in case of ERROR to READY
modification path, it was not provided.

Provide port number when changing state from RESET to INIT.

Fixes: 3a87b964edd3 ("net/mlx5: create Tx queues with DevX")
Cc: stable@dpdk.org

Signed-off-by: Raja Zidane <rzidane@nvidia.com>
Acked-by: Matan Azrad <matan@nvidia.com>
Acked-by: Dmitry Kozlyuk <dkozlyuk@nvidia.com>
---
 drivers/net/mlx5/linux/mlx5_verbs.c | 5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)

diff --git a/drivers/net/mlx5/linux/mlx5_verbs.c b/drivers/net/mlx5/linux/mlx5_verbs.c
index b6ba21c216..67a7bec22b 100644
--- a/drivers/net/mlx5/linux/mlx5_verbs.c
+++ b/drivers/net/mlx5/linux/mlx5_verbs.c
@@ -94,7 +94,6 @@ mlx5_ibv_modify_qp(struct mlx5_txq_obj *obj, enum mlx5_txq_modify_type type,
 		.qp_state = IBV_QPS_RESET,
 		.port_num = dev_port,
 	};
-	int attr_mask = (IBV_QP_STATE | IBV_QP_PORT);
 	int ret;
 
 	if (type != MLX5_TXQ_MOD_RST2RDY) {
@@ -108,10 +107,8 @@ mlx5_ibv_modify_qp(struct mlx5_txq_obj *obj, enum mlx5_txq_modify_type type,
 		if (type == MLX5_TXQ_MOD_RDY2RST)
 			return 0;
 	}
-	if (type == MLX5_TXQ_MOD_ERR2RDY)
-		attr_mask = IBV_QP_STATE;
 	mod.qp_state = IBV_QPS_INIT;
-	ret = mlx5_glue->modify_qp(obj->qp, &mod, attr_mask);
+	ret = mlx5_glue->modify_qp(obj->qp, &mod, IBV_QP_STATE | IBV_QP_PORT);
 	if (ret) {
 		DRV_LOG(ERR, "Cannot change Tx QP state to INIT %s",
 			strerror(errno));
-- 
2.21.0


^ permalink raw reply	[flat|nested] 2+ messages in thread

* RE: [PATCH] net/mlx5: fix Tx recovery
  2022-05-18  9:42 [PATCH] net/mlx5: fix Tx recovery Raja Zidane
@ 2022-05-23 11:32 ` Raslan Darawsheh
  0 siblings, 0 replies; 2+ messages in thread
From: Raslan Darawsheh @ 2022-05-23 11:32 UTC (permalink / raw)
  To: Raja Zidane, dev; +Cc: Matan Azrad, stable, Dmitry Kozlyuk

Hi,

> -----Original Message-----
> From: Raja Zidane <rzidane@nvidia.com>
> Sent: Wednesday, May 18, 2022 12:43 PM
> To: dev@dpdk.org
> Cc: Matan Azrad <matan@nvidia.com>; stable@dpdk.org; Dmitry Kozlyuk
> <dkozlyuk@nvidia.com>
> Subject: [PATCH] net/mlx5: fix Tx recovery
> 
> When an error occurs in Tx, and it is moved to ERROR state, it is not
> recoverable, during recovery it's state cannot be modified to INIT. to modify
> state from RESET to INIT, the port must be passed in modify attributes, and in
> case of ERROR to READY modification path, it was not provided.
> 
> Provide port number when changing state from RESET to INIT.
> 
> Fixes: 3a87b964edd3 ("net/mlx5: create Tx queues with DevX")
> Cc: stable@dpdk.org
> 
> Signed-off-by: Raja Zidane <rzidane@nvidia.com>
> Acked-by: Matan Azrad <matan@nvidia.com>
> Acked-by: Dmitry Kozlyuk <dkozlyuk@nvidia.com>

Patch applied to next-net-mlx,

Kindest regards,
Raslan Darawsheh

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2022-05-23 11:32 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-05-18  9:42 [PATCH] net/mlx5: fix Tx recovery Raja Zidane
2022-05-23 11:32 ` Raslan Darawsheh

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).