Add cleanup to remove CR from SP and EP
during DTO errors in dapli_evd_cqe_to_event.
dapl_sp_remove_ep needs to remove cr_ptr
reference from EP before freeing cr object.
Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
/* ... and clean up the local side */
evd_ptr = (DAPL_EVD *) ep_ptr->param.connect_evd_handle;
+ dapl_sp_remove_ep (ep_ptr);
if (evd_ptr != NULL) {
dapls_evd_post_connection_event(evd_ptr,
DAT_CONNECTION_EVENT_BROKEN,
dapl_os_unlock(&sp_ptr->header.lock);
+ ep_ptr->cr_ptr = NULL;
+
/* free memory outside of the lock */
dapls_cr_free(cr_ptr);