]> git.openfabrics.org - ~shefty/librdmacm.git/commitdiff
librdmacm: Do not wait in rdma_accept for UD QPs
authorSean Hefty <sean.hefty@intel.com>
Tue, 14 Jun 2011 18:11:58 +0000 (11:11 -0700)
committerSean Hefty <sean.hefty@intel.com>
Mon, 22 Aug 2011 20:59:38 +0000 (13:59 -0700)
There are no additional connection events to process for UD QPs
after calling rdma_accept().  When using synchronous rdma_cm_id's,
simply return to the user after sending the reply.  Do not wait
for additional events.

This fixes a hang on the server side when setting up UD QP
communication.

Signed-off-by: Sean Hefty <sean.hefty@intel.com>
src/cma.c

index 19e8cbdcb1ef70bf6c2a144a297bdc134e143f8a..b7cf29543e6698f950dac22eef4e4e2fb83f4ef0 100755 (executable)
--- a/src/cma.c
+++ b/src/cma.c
@@ -1451,6 +1451,9 @@ int rdma_accept(struct rdma_cm_id *id, struct rdma_conn_param *conn_param)
                return (ret >= 0) ? ERR(ENODATA) : -1;
        }
 
+       if (ucma_is_ud_qp(id->qp_type))
+               return 0;
+
        return ucma_complete(id_priv);
 }