Fix for uDAPL v2 using extended operation. After extension completion,
the DTO cookie must be checked for type before deallocating to handle
inbound immediate data in receive. The sample dtestx client will fail
when running loopback if the rdma immediate is received from remote
before the rdma immediate request completion fires.

dtestx client error:
dat_ib_post_rdma_write_immed returned DAT_INSUFFICIENT_RESOURCES :
DAT_RESOURCE_MEMORY

Signed-off by: Arlin Davis <[EMAIL PROTECTED]>

diff --git a/dapl/common/dapl_evd_util.c b/dapl/common/dapl_evd_util.c
index a3bcbd5..a993b02 100755
--- a/dapl/common/dapl_evd_util.c
+++ b/dapl/common/dapl_evd_util.c
@@ -1041,7 +1041,10 @@ dapli_evd_cqe_to_event (
                DAPL_GET_CQE_OPTYPE(cqe_ptr) !=  OP_RECEIVE))
            {
                dapls_cqe_to_event_extension (ep_ptr, cookie, cqe_ptr,
event_ptr);
-               dapls_cookie_dealloc (&ep_ptr->req_buffer, cookie);
+                if (cookie->val.dto.type == DAPL_DTO_TYPE_RECV)
+                        dapls_cookie_dealloc (&ep_ptr->recv_buffer,
cookie);
+                else
+                        dapls_cookie_dealloc (&ep_ptr->req_buffer,
cookie);
                break;
            }
 #endif

_______________________________________________
general mailing list
[email protected]
http://lists.openfabrics.org/cgi-bin/mailman/listinfo/general

To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general

Reply via email to