cm_ptr->hca = ia_ptr->hca_ptr;\r
cm_ptr->state = DCM_ACCEPTED;\r
\r
+ /* Link CM to EP, already queued on work thread */\r
+ dapl_ep_link_cm(ep_ptr, cm_ptr);\r
+ cm_ptr->ep = ep_ptr;\r
+\r
local.p_size = htons(p_size);\r
iov[0].iov_base = (void *)&local;\r
iov[0].iov_len = exp;\r
strerror(errno), len, \r
inet_ntoa(((struct sockaddr_in *)\r
&cm_ptr->msg.daddr.so)->sin_addr));\r
+ dapl_ep_unlink_cm(ep_ptr, cm_ptr);\r
+ cm_ptr->ep = NULL;\r
goto bail;\r
}\r
\r
\r
dapl_dbg_log(DAPL_DBG_TYPE_EP, " PASSIVE: accepted!\n");\r
\r
- /* Link CM to EP, already queued on work thread */\r
- dapl_ep_link_cm(ep_ptr, cm_ptr);\r
- cm_ptr->ep = ep_ptr;\r
return DAT_SUCCESS;\r
bail:\r
/* schedule cleanup from workq */\r