Skip to content

Commit f4044da

Browse files
Eli Cohenrleon
authored andcommitted
IB/mlx5: Fix error handling order in create_kernel_qp
Make sure order of cleanup is exactly the opposite of initialization. Fixes: 9603b61 ('mlx5: Move pci device handling from mlx5_ib to mlx5_core') Signed-off-by: Eli Cohen <[email protected]> Reviewed-by: Matan Barak <[email protected]> Signed-off-by: Leon Romanovsky <[email protected]> Signed-off-by: Saeed Mahameed <[email protected]>
1 parent de8d6e0 commit f4044da

File tree

1 file changed

+2
-2
lines changed
  • drivers/infiniband/hw/mlx5

1 file changed

+2
-2
lines changed

drivers/infiniband/hw/mlx5/qp.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -994,12 +994,12 @@ static int create_kernel_qp(struct mlx5_ib_dev *dev,
994994
return 0;
995995

996996
err_wrid:
997-
mlx5_db_free(dev->mdev, &qp->db);
998997
kfree(qp->sq.wqe_head);
999998
kfree(qp->sq.w_list);
1000999
kfree(qp->sq.wrid);
10011000
kfree(qp->sq.wr_data);
10021001
kfree(qp->rq.wrid);
1002+
mlx5_db_free(dev->mdev, &qp->db);
10031003

10041004
err_free:
10051005
kvfree(*in);
@@ -1014,12 +1014,12 @@ static int create_kernel_qp(struct mlx5_ib_dev *dev,
10141014

10151015
static void destroy_qp_kernel(struct mlx5_ib_dev *dev, struct mlx5_ib_qp *qp)
10161016
{
1017-
mlx5_db_free(dev->mdev, &qp->db);
10181017
kfree(qp->sq.wqe_head);
10191018
kfree(qp->sq.w_list);
10201019
kfree(qp->sq.wrid);
10211020
kfree(qp->sq.wr_data);
10221021
kfree(qp->rq.wrid);
1022+
mlx5_db_free(dev->mdev, &qp->db);
10231023
mlx5_buf_free(dev->mdev, &qp->buf);
10241024
free_uuar(&dev->mdev->priv.uuari, qp->bf->uuarn);
10251025
}

0 commit comments

Comments
 (0)