IB/srpt: Fix srpt_cm_req_recv() error path (2/2)
authorBart Van Assche <bart.vanassche@wdc.com>
Tue, 10 Jul 2018 17:31:59 +0000 (10:31 -0700)
committerJason Gunthorpe <jgg@mellanox.com>
Fri, 13 Jul 2018 17:58:45 +0000 (11:58 -0600)
If a login request was received through the RDMA/CM and if an error occurs
during login, clear rdma_cm_id->context instead of ib_cm_id->context.

Fixes: 63cf1a902c9d ("IB/srpt: Add RDMA/CM support")
Signed-off-by: Bart Van Assche <bart.vanassche@wdc.com>
Cc: <stable@vger.kernel.org>
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
drivers/infiniband/ulp/srpt/ib_srpt.c

index 6b86f5c..8bd7373 100644 (file)
@@ -2360,8 +2360,11 @@ free_ring:
        srpt_free_ioctx_ring((struct srpt_ioctx **)ch->ioctx_ring,
                             ch->sport->sdev, ch->rq_size,
                             ch->max_rsp_size, DMA_TO_DEVICE);
+
 free_ch:
-       if (ib_cm_id)
+       if (rdma_cm_id)
+               rdma_cm_id->context = NULL;
+       else
                ib_cm_id->context = NULL;
        kfree(ch);
        ch = NULL;