RDMA/rtrs-clt: Remove destroy_con_cq_qp in case route resolving failed
authorDanil Kipnis <danil.kipnis@cloud.ionos.com>
Fri, 23 Oct 2020 07:43:42 +0000 (09:43 +0200)
committerJason Gunthorpe <jgg@nvidia.com>
Wed, 28 Oct 2020 16:17:39 +0000 (13:17 -0300)
We call destroy_con_cq_qp(con) in rtrs_rdma_addr_resolved() in case route
couldn't be resolved and then again in create_cm() because nothing
happens.

Don't call destroy_con_cq_qp from rtrs_rdma_addr_resolved, create_cm()
does the clean up already.

Fixes: 6a98d71daea1 ("RDMA/rtrs: client: main functionality")
Link: https://lore.kernel.org/r/20201023074353.21946-2-jinpu.wang@cloud.ionos.com
Signed-off-by: Danil Kipnis <danil.kipnis@cloud.ionos.com>
Signed-off-by: Jack Wang <jinpu.wang@cloud.ionos.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
drivers/infiniband/ulp/rtrs/rtrs-clt.c

index 776e892..9980bb4 100644 (file)
@@ -1640,10 +1640,8 @@ static int rtrs_rdma_addr_resolved(struct rtrs_clt_con *con)
                return err;
        }
        err = rdma_resolve_route(con->c.cm_id, RTRS_CONNECT_TIMEOUT_MS);
-       if (err) {
+       if (err)
                rtrs_err(s, "Resolving route failed, err: %d\n", err);
-               destroy_con_cq_qp(con);
-       }
 
        return err;
 }