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.da...@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



N�����r��y����b�X��ǧv�^�)޺{.n�+����{��ٚ�{ay�ʇڙ�,j��f���h���z��w���
���j:+v���w�j�m��������zZ+�����ݢj"��!�i

Reply via email to