diff options
author | Moshe Lazer <moshel@mellanox.com> | 2013-09-11 16:35:24 +0300 |
---|---|---|
committer | Roland Dreier <roland@purestorage.com> | 2013-10-10 09:23:55 -0700 |
commit | 56e1ab0f13509ff9ceaab2fb668c80e6722e1c94 (patch) | |
tree | 73409f6b85a3da97cf94516311c79595fae58e1b /drivers/infiniband | |
parent | 3c4619114cb6760d2c97fd562ea96d2c8786b56a (diff) | |
download | op-kernel-dev-56e1ab0f13509ff9ceaab2fb668c80e6722e1c94.zip op-kernel-dev-56e1ab0f13509ff9ceaab2fb668c80e6722e1c94.tar.gz |
IB/mlx5: Fix memory leak in mlx5_ib_create_srq
The patch fixes the rollback in case of failure in creating SRQ.
Signed-off-by: Moshe Lazer <moshel@mellanox.com>
Signed-off-by: Eli Cohen <eli@mellanox.com>
Signed-off-by: Roland Dreier <roland@purestorage.com>
Diffstat (limited to 'drivers/infiniband')
-rw-r--r-- | drivers/infiniband/hw/mlx5/srq.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/infiniband/hw/mlx5/srq.c b/drivers/infiniband/hw/mlx5/srq.c index 84d297a..0aa478b 100644 --- a/drivers/infiniband/hw/mlx5/srq.c +++ b/drivers/infiniband/hw/mlx5/srq.c @@ -295,7 +295,7 @@ struct ib_srq *mlx5_ib_create_srq(struct ib_pd *pd, mlx5_vfree(in); if (err) { mlx5_ib_dbg(dev, "create SRQ failed, err %d\n", err); - goto err_srq; + goto err_usr_kern_srq; } mlx5_ib_dbg(dev, "create SRQ with srqn 0x%x\n", srq->msrq.srqn); @@ -316,6 +316,8 @@ struct ib_srq *mlx5_ib_create_srq(struct ib_pd *pd, err_core: mlx5_core_destroy_srq(&dev->mdev, &srq->msrq); + +err_usr_kern_srq: if (pd->uobject) destroy_srq_user(pd, srq); else |