]> git.openfabrics.org - ~shefty/rdma-win.git/commitdiff
Refresh of dapl-ep
authorSean Hefty <sean.hefty@intel.com>
Tue, 9 Mar 2010 23:45:09 +0000 (15:45 -0800)
committerSean Hefty <sean.hefty@intel.com>
Tue, 9 Mar 2010 23:45:09 +0000 (15:45 -0800)
trunk/ulp/dapl2/dapl/openib_scm/cm.c

index 6958b67450be587b61baa163cf2181f5a653d9d8..29694835c0ad39cca313a137094f8dc3b74ed263 100644 (file)
@@ -1143,6 +1143,9 @@ dapli_socket_accept_usr(DAPL_EP * ep_ptr,
        cm_ptr->hca = ia_ptr->hca_ptr;
        cm_ptr->state = DCM_ACCEPTED;
 
+       dapl_ep_link_cm(ep_ptr, cm_ptr);
+       cm_ptr->ep = ep_ptr;
+
        local.p_size = htons(p_size);
        iov[0].iov_base = (void *)&local;
        iov[0].iov_len = exp;
@@ -1160,6 +1163,8 @@ dapli_socket_accept_usr(DAPL_EP * ep_ptr,
                         strerror(errno), len, 
                         inet_ntoa(((struct sockaddr_in *)
                                   &cm_ptr->msg.daddr.so)->sin_addr));
+               dapl_ep_unlink_cm(ep_ptr, cm_ptr);
+               cm_ptr->ep = NULL;
                goto bail;
        }
 
@@ -1175,10 +1180,6 @@ dapli_socket_accept_usr(DAPL_EP * ep_ptr,
                     htonll(*(uint64_t*)&local.saddr.ib.gid[8]));
 
        dapl_dbg_log(DAPL_DBG_TYPE_EP, " PASSIVE: accepted!\n");
-
-       /* Link CM to EP, already queued on work thread */
-       dapl_ep_link_cm(ep_ptr, cm_ptr);
-       cm_ptr->ep = ep_ptr;
        return DAT_SUCCESS;
 bail:
        /* schedule cleanup from workq */