Author: hselasky
Date: Tue Dec  1 12:43:56 2020
New Revision: 368218
URL: https://svnweb.freebsd.org/changeset/base/368218

Log:
  MFC r367715:
  Fix error handling order in create_kernel_qp in mlx5ib.
  
  Make sure order of cleanup is exactly the opposite of initialization.
  
  Linux commit:
  f4044dac63e952ac1137b6df02b233d37696e2f5
  
  Sponsored by: Mellanox Technologies // NVIDIA Networking

Modified:
  stable/11/sys/dev/mlx5/mlx5_ib/mlx5_ib_qp.c
Directory Properties:
  stable/11/   (props changed)

Modified: stable/11/sys/dev/mlx5/mlx5_ib/mlx5_ib_qp.c
==============================================================================
--- stable/11/sys/dev/mlx5/mlx5_ib/mlx5_ib_qp.c Tue Dec  1 12:43:22 2020        
(r368217)
+++ stable/11/sys/dev/mlx5/mlx5_ib/mlx5_ib_qp.c Tue Dec  1 12:43:56 2020        
(r368218)
@@ -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);
 }
_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to