svn commit: r367715 - head/sys/dev/mlx5/mlx5_ib

Hans Petter Selasky hselasky at FreeBSD.org
Mon Nov 16 10:00:22 UTC 2020


Author: hselasky
Date: Mon Nov 16 10:00:21 2020
New Revision: 367715
URL: https://svnweb.freebsd.org/changeset/base/367715

Log:
  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

Modified:
  head/sys/dev/mlx5/mlx5_ib/mlx5_ib_qp.c

Modified: head/sys/dev/mlx5/mlx5_ib/mlx5_ib_qp.c
==============================================================================
--- head/sys/dev/mlx5/mlx5_ib/mlx5_ib_qp.c	Mon Nov 16 03:12:21 2020	(r367714)
+++ head/sys/dev/mlx5/mlx5_ib/mlx5_ib_qp.c	Mon Nov 16 10:00:21 2020	(r367715)
@@ -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 @@ err_uuar:
 
 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);
 }


More information about the svn-src-all mailing list