[openib-general] [PATCH 1.0] uDAPL fix for invalid disconnect state

Davis, Arlin R arlin.r.davis at intel.com
Mon Mar 6 16:24:57 PST 2006


James,

This small patch fixes another issue with scale-out MPI testing. Please
review this patch since you understand the history around NO_EP_STATE
better then me. Apparently there is some NO_EP_STATE hack in the common
code that is provided to protect against race conditions but I not clear
on its usage model. This unknown state is causing the
dat_ep_disconnect() to incorrectly fail with invalid state instead of
processing in the proper DAT_EP_STATE_COMPLETION_PENDING state. 

Thanks,

-arlin 

Signed-off by: Arlin Davis <ardavis at ichips.intel.com>

Index: dapl/dapl/common/dapl_cr_callback.c
===================================================================
--- dapl/dapl/common/dapl_cr_callback.c	(revision 5642)
+++ dapl/dapl/common/dapl_cr_callback.c	(working copy)
@@ -532,18 +532,10 @@ dapli_get_sp_ep (
     {
 	/* Remove the CR from the queue */
 	dapl_sp_remove_cr (sp_ptr, cr_ptr);
-	/*
-	 * Last event, time to clean up and dispose of the resource.
-	 * Put the EP in a state that it can't get hurt, avoiding
-	 * race conditions between now and when it gets disconnected,
-	 * i.e. an app invoking ep_disconnect before the callback
-	 * code above finishes.
-	 */
-#define NO_EP_STATE	111		/* larger than any ep state */
+
 	if (ep_ptr != NULL)
 	{
 	    ep_ptr->cr_ptr = NULL;
-	    ep_ptr->param.ep_state = NO_EP_STATE;
 	}
 
 	/*


-------------- next part --------------
A non-text attachment was scrubbed...
Name: udapl_dconn.patch
Type: application/octet-stream
Size: 797 bytes
Desc: udapl_dconn.patch
URL: <http://lists.openfabrics.org/pipermail/general/attachments/20060306/0f1e9694/attachment.obj>


More information about the general mailing list