Re: [PATCH net v1] net/mlx5e: Fix PTP TX SQ cleanup on metadata DB failure
From: Tariq Toukan
Date: Thu May 07 2026 - 07:19:09 EST
On 05/05/2026 1:30, Prathamesh Deshpande wrote:
mlx5e_ptp_open_txqsq() creates the hardware SQ before allocating the PTP
traffic metadata database.
If mlx5e_ptp_alloc_traffic_db() fails, the error path frees the software
TX queue state but skips destroying the already-created hardware SQ.
Add a dedicated unwind label that destroys the SQ before freeing the TXQ
state.
Fixes: 1880bc4e4a96 ("net/mlx5e: Add TX port timestamp support")
Signed-off-by: Prathamesh Deshpande <prathameshdeshpande7@xxxxxxxxx>
---
drivers/net/ethernet/mellanox/mlx5/core/en/ptp.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en/ptp.c b/drivers/net/ethernet/mellanox/mlx5/core/en/ptp.c
index 723f66a6bd63..45db2dd7408d 100644
--- a/drivers/net/ethernet/mellanox/mlx5/core/en/ptp.c
+++ b/drivers/net/ethernet/mellanox/mlx5/core/en/ptp.c
@@ -489,12 +489,14 @@ static int mlx5e_ptp_open_txqsq(struct mlx5e_ptp *c, u32 tisn,
err = mlx5e_ptp_alloc_traffic_db(ptpsq, dev_to_node(mlx5_core_dma_dev(c->mdev)));
if (err)
- goto err_free_txqsq;
+ goto err_destroy_sq;
INIT_WORK(&ptpsq->report_unhealthy_work, mlx5e_ptpsq_unhealthy_work);
return 0;
+err_destroy_sq:
+ mlx5e_ptp_destroy_sq(c->mdev, txqsq->sqn);
err_free_txqsq:
mlx5e_free_txqsq(txqsq);
Reviewed-by: Tariq Toukan <tariqt@xxxxxxxxxx>
Thanks.