openib btl unsafe in case of extremely low srq settings diff -r eb32fad15d19 ompi/mca/btl/openib/btl_openib_component.c --- a/ompi/mca/btl/openib/btl_openib_component.c Wed Jun 09 17:39:55 2010 +0200 +++ b/ompi/mca/btl/openib/btl_openib_component.c Fri Jun 18 17:00:12 2010 +0200 @@ -3543,6 +3543,11 @@ int mca_btl_openib_post_srr(mca_btl_open } num_post = rd_curr_num - openib_btl->qps[qp].u.srq_qp.rd_posted; + if (0 == num_post) { + OPAL_THREAD_UNLOCK(&openib_btl->ib_lock); + return OMPI_SUCCESS; + } + for(i = 0; i < num_post; i++) { ompi_free_list_item_t* item; OMPI_FREE_LIST_WAIT(&openib_btl->device->qps[qp].recv_free, item, rc);