diff options
author | Dag Moxnes <dag.moxnes@oracle.com> | 2018-04-25 07:22:01 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2018-04-25 14:34:08 -0400 |
commit | 91a825290ca4eae88603bc811bf74a45f94a3f46 (patch) | |
tree | 0b121e49c126f4f7d17b3ff902147b47f084ee05 | |
parent | 070204a34884110ac5e19c1e2e036fcfd033f8e3 (diff) |
rds: ib: Fix missing call to rds_ib_dev_put in rds_ib_setup_qp
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>
-rw-r--r-- | net/rds/ib_cm.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/net/rds/ib_cm.c b/net/rds/ib_cm.c index eea1d8611b20..13b38ad0fa4a 100644 --- a/net/rds/ib_cm.c +++ b/net/rds/ib_cm.c | |||
@@ -547,7 +547,7 @@ static int rds_ib_setup_qp(struct rds_connection *conn) | |||
547 | rdsdebug("conn %p pd %p cq %p %p\n", conn, ic->i_pd, | 547 | rdsdebug("conn %p pd %p cq %p %p\n", conn, ic->i_pd, |
548 | ic->i_send_cq, ic->i_recv_cq); | 548 | ic->i_send_cq, ic->i_recv_cq); |
549 | 549 | ||
550 | return ret; | 550 | goto out; |
551 | 551 | ||
552 | sends_out: | 552 | sends_out: |
553 | vfree(ic->i_sends); | 553 | vfree(ic->i_sends); |
@@ -572,6 +572,7 @@ send_cq_out: | |||
572 | ic->i_send_cq = NULL; | 572 | ic->i_send_cq = NULL; |
573 | rds_ibdev_out: | 573 | rds_ibdev_out: |
574 | rds_ib_remove_conn(rds_ibdev, conn); | 574 | rds_ib_remove_conn(rds_ibdev, conn); |
575 | out: | ||
575 | rds_ib_dev_put(rds_ibdev); | 576 | rds_ib_dev_put(rds_ibdev); |
576 | 577 | ||
577 | return ret; | 578 | return ret; |