| From 9cd00dcdc4cc54cb6b3eb1b2bb8636ecc6cd5f71 Mon Sep 17 00:00:00 2001 |
| From: Dag Moxnes <dag.moxnes@oracle.com> |
| Date: Wed, 25 Apr 2018 13:22:01 +0200 |
| Subject: rds: ib: Fix missing call to rds_ib_dev_put in rds_ib_setup_qp |
| MIME-Version: 1.0 |
| Content-Type: text/plain; charset=UTF-8 |
| Content-Transfer-Encoding: 8bit |
| |
| [ Upstream commit 91a825290ca4eae88603bc811bf74a45f94a3f46 ] |
| |
| The function rds_ib_setup_qp is calling rds_ib_get_client_data and |
| should correspondingly call rds_ib_dev_put. This call was lost in |
| the non-error path with the introduction of error handling done in |
| commit 3b12f73a5c29 ("rds: ib: add error handle") |
| |
| Signed-off-by: Dag Moxnes <dag.moxnes@oracle.com> |
| Reviewed-by: Håkon Bugge <haakon.bugge@oracle.com> |
| Acked-by: Santosh Shilimkar <santosh.shilimkar@oracle.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| net/rds/ib_cm.c | 3 ++- |
| 1 file changed, 2 insertions(+), 1 deletion(-) |
| |
| diff --git a/net/rds/ib_cm.c b/net/rds/ib_cm.c |
| index 169156cfd4c8..96e61eab19bc 100644 |
| --- a/net/rds/ib_cm.c |
| +++ b/net/rds/ib_cm.c |
| @@ -505,7 +505,7 @@ static int rds_ib_setup_qp(struct rds_connection *conn) |
| rdsdebug("conn %p pd %p cq %p %p\n", conn, ic->i_pd, |
| ic->i_send_cq, ic->i_recv_cq); |
| |
| - return ret; |
| + goto out; |
| |
| sends_out: |
| vfree(ic->i_sends); |
| @@ -530,6 +530,7 @@ send_cq_out: |
| ic->i_send_cq = NULL; |
| rds_ibdev_out: |
| rds_ib_remove_conn(rds_ibdev, conn); |
| +out: |
| rds_ib_dev_put(rds_ibdev); |
| |
| return ret; |
| -- |
| 2.17.1 |
| |