[ofw] [PATCH] dapl-2.0 - common: cleanup CR linkings after DTO error on EP
Davis, Arlin R
arlin.r.davis at intel.com
Mon Aug 2 11:30:53 PDT 2010
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 at intel.com>
---
dapl/common/dapl_evd_util.c | 1 +
dapl/common/dapl_sp_util.c | 2 ++
2 files changed, 3 insertions(+), 0 deletions(-)
diff --git a/dapl/common/dapl_evd_util.c b/dapl/common/dapl_evd_util.c
index cb3eb1b..12d38ff 100644
--- a/dapl/common/dapl_evd_util.c
+++ b/dapl/common/dapl_evd_util.c
@@ -1316,6 +1316,7 @@ dapli_evd_cqe_to_event(IN DAPL_EVD * evd_ptr,
/* ... 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,
diff --git a/dapl/common/dapl_sp_util.c b/dapl/common/dapl_sp_util.c
index c1a3fdb..fba3711 100644
--- a/dapl/common/dapl_sp_util.c
+++ b/dapl/common/dapl_sp_util.c
@@ -264,6 +264,8 @@ void dapl_sp_remove_ep(IN DAPL_EP * ep_ptr)
dapl_os_unlock(&sp_ptr->header.lock);
+ ep_ptr->cr_ptr = NULL;
+
/* free memory outside of the lock */
dapls_cr_free(cr_ptr);
--
1.5.2.5
More information about the ofw
mailing list