Fix error handling order in create_kernel_qp in mlx5ib.
Make sure order of cleanup is exactly the opposite of initialization. Linux commit: f4044dac63e952ac1137b6df02b233d37696e2f5 MFC after: 1 week Sponsored by: Mellanox Technologies // NVIDIA Networking
This commit is contained in:
parent
19d3e47dca
commit
8114aeea44
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=367715
@ -987,12 +987,12 @@ static int create_kernel_qp(struct mlx5_ib_dev *dev,
|
||||
return 0;
|
||||
|
||||
err_wrid:
|
||||
mlx5_db_free(dev->mdev, &qp->db);
|
||||
kfree(qp->sq.wqe_head);
|
||||
kfree(qp->sq.w_list);
|
||||
kfree(qp->sq.wrid);
|
||||
kfree(qp->sq.wr_data);
|
||||
kfree(qp->rq.wrid);
|
||||
mlx5_db_free(dev->mdev, &qp->db);
|
||||
|
||||
err_free:
|
||||
kvfree(*in);
|
||||
@ -1007,12 +1007,12 @@ static int create_kernel_qp(struct mlx5_ib_dev *dev,
|
||||
|
||||
static void destroy_qp_kernel(struct mlx5_ib_dev *dev, struct mlx5_ib_qp *qp)
|
||||
{
|
||||
mlx5_db_free(dev->mdev, &qp->db);
|
||||
kfree(qp->sq.wqe_head);
|
||||
kfree(qp->sq.w_list);
|
||||
kfree(qp->sq.wrid);
|
||||
kfree(qp->sq.wr_data);
|
||||
kfree(qp->rq.wrid);
|
||||
mlx5_db_free(dev->mdev, &qp->db);
|
||||
mlx5_buf_free(dev->mdev, &qp->buf);
|
||||
free_uuar(&dev->mdev->priv.uuari, qp->bf->uuarn);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user