[ofw] [PATCH 6/13] DAPL v2.0: common: RSP service points incorrectly freed during CR callback

Davis, Arlin R arlin.r.davis at intel.com
Fri Jan 13 15:55:14 PST 2012


The RSP service point is being removed because of improper
state/flag checking during CR callback. Add state check
for DAPL_SP_STATE_RSP_LISTENING.

Signed-off-by: Arlin Davis <arlin.r.davis at intel.com>
---
 dapl/common/dapl_cr_callback.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/dapl/common/dapl_cr_callback.c b/dapl/common/dapl_cr_callback.c
index c58444b..1f6dd6d 100644
--- a/dapl/common/dapl_cr_callback.c
+++ b/dapl/common/dapl_cr_callback.c
@@ -499,7 +499,8 @@ DAPL_EP *dapli_get_sp_ep(IN dp_ib_cm_handle_t ib_cm_handle,
 		 * up after the last CR is removed
 		 */
 		if (sp_ptr->listening != DAT_TRUE && sp_ptr->cr_list_count == 0
-		    && sp_ptr->state != DAPL_SP_STATE_FREE) {
+		    && sp_ptr->state != DAPL_SP_STATE_FREE
+		    && sp_ptr->state != DAPL_SP_STATE_RSP_LISTENING) {
 			dapl_dbg_log(DAPL_DBG_TYPE_CM,
 				     "--> dapli_get_sp_ep! disconnect dump sp: %p \n",
 				     sp_ptr);
-- 
1.7.3





More information about the ofw mailing list