@@ -73,8 +73,10 @@ int mca_btl_ofi_afop (struct mca_btl_base_module_t *btl, struct mca_btl_base_end
7373 fi_datatype , fi_op , & comp -> comp_ctx );
7474
7575 if (rc == - FI_EAGAIN ) {
76+ opal_free_list_return (comp -> base .my_list , (opal_free_list_item_t * ) comp );
7677 return OPAL_ERR_OUT_OF_RESOURCE ;
7778 } else if (rc < 0 ) {
79+ opal_free_list_return (comp -> base .my_list , (opal_free_list_item_t * ) comp );
7880 BTL_ERROR (("fi_fetch_atomic failed with rc=%d (%s)" , rc , fi_strerror (- rc )));
7981 MCA_BTL_OFI_ABORT ();
8082 }
@@ -125,8 +127,10 @@ int mca_btl_ofi_aop (struct mca_btl_base_module_t *btl, mca_btl_base_endpoint_t
125127 fi_datatype , fi_op , & comp -> comp_ctx );
126128
127129 if (rc == - FI_EAGAIN ) {
130+ opal_free_list_return (comp -> base .my_list , (opal_free_list_item_t * ) comp );
128131 return OPAL_ERR_OUT_OF_RESOURCE ;
129132 } else if (rc < 0 ) {
133+ opal_free_list_return (comp -> base .my_list , (opal_free_list_item_t * ) comp );
130134 BTL_ERROR (("fi_atomic failed with rc=%d (%s)" , rc , fi_strerror (- rc )));
131135 MCA_BTL_OFI_ABORT ();
132136 }
@@ -181,8 +185,10 @@ int mca_btl_ofi_acswap (struct mca_btl_base_module_t *btl, struct mca_btl_base_e
181185 & comp -> comp_ctx );
182186
183187 if (rc == - FI_EAGAIN ) {
188+ opal_free_list_return (comp -> base .my_list , (opal_free_list_item_t * ) comp );
184189 return OPAL_ERR_OUT_OF_RESOURCE ;
185190 } else if (rc < 0 ) {
191+ opal_free_list_return (comp -> base .my_list , (opal_free_list_item_t * ) comp );
186192 BTL_ERROR (("fi_compare_atomic failed with rc=%d (%s)" , rc , fi_strerror (- rc )));
187193 MCA_BTL_OFI_ABORT ();
188194 }
0 commit comments