NA OFI: prevent segfault from verbs provider on fi_cq_signal() (fixes
@@ -3594,11 +3594,16 @@ na_ofi_cancel(na_class_t *na_class, na_context_t NA_UNUSED *context,
break;
}
+ /* Work around segfault from verbs provider */
+ if (NA_OFI_PRIVATE_DATA(na_class)->nop_domain->nod_prov_type
+ != NA_OFI_PROV_VERBS) {
/* signal the cq to make the wait FD can work */
rc = fi_cq_signal(cq_hdl);
if (rc != 0 && rc != -ENOSYS)
NA_LOG_DEBUG("fi_cq_signal (op type %d) failed, rc: %d(%s).",
na_ofi_op_id->noo_type, rc, fi_strerror((int) -rc));
+ }
+
out:
return ret;
}
