diff --git a/maestro/ofi.c b/maestro/ofi.c index 2996b0306a1a6d942db4315866fbad24bd3f6bbd..53d6f269c440c713f1115fb3c75977f9233ae8bd 100644 --- a/maestro/ofi.c +++ b/maestro/ofi.c @@ -2612,8 +2612,12 @@ mstro_ofi__submit_component_descriptor_read(struct mstro_endpoint *my_ep, } assert(ctx->msg==NULL); - assert(my_ep->peer_info_mr!=NULL); /* incoming buffer has been registered at local endpoint set creation */ - void * local_buf_mr_desc = fi_mr_desc(my_ep->peer_info_mr); + /* buffer may have been registered at local endpoint set creation if FI_MR_LOCAL was required*/ + void * local_buf_mr_desc = NULL; + if(my_ep->peer_info_mr!=NULL) + { + local_buf_mr_desc = fi_mr_desc(my_ep->peer_info_mr); + } DEBUG("FI_READ with ctx %p\n", ctx); int num_retries = 3;