diff --git a/src/uct/ib/mlx5/dv/ib_mlx5_dv.c b/src/uct/ib/mlx5/dv/ib_mlx5_dv.c index 2826938c1c0..dd383d5b66a 100644 --- a/src/uct/ib/mlx5/dv/ib_mlx5_dv.c +++ b/src/uct/ib/mlx5/dv/ib_mlx5_dv.c @@ -128,9 +128,9 @@ ucs_status_t uct_ib_mlx5_devx_create_qp(uct_ib_iface_t *iface, UCT_IB_MLX5DV_SET(qpc, qpc, log_sq_size, ucs_ilog2_or0(max_tx)); UCT_IB_MLX5DV_SET(qpc, qpc, log_rq_size, ucs_ilog2_or0(max_rx)); UCT_IB_MLX5DV_SET(qpc, qpc, cs_req, - uct_ib_mlx5_qpc_cs_req(attr->max_inl_recv)); + uct_ib_mlx5_qpc_cs_req(attr->max_inl_resp)); UCT_IB_MLX5DV_SET(qpc, qpc, cs_res, - uct_ib_mlx5_qpc_cs_res(attr->max_inl_resp)); + uct_ib_mlx5_qpc_cs_res(attr->max_inl_recv)); UCT_IB_MLX5DV_SET64(qpc, qpc, dbr_addr, qp->devx.dbrec->offset); UCT_IB_MLX5DV_SET(qpc, qpc, dbr_umem_id, qp->devx.dbrec->mem_id); diff --git a/src/uct/ib/rc/accel/rc_mlx5_iface.c b/src/uct/ib/rc/accel/rc_mlx5_iface.c index 0cc1bf1db77..195c5ddc6c1 100644 --- a/src/uct/ib/rc/accel/rc_mlx5_iface.c +++ b/src/uct/ib/rc/accel/rc_mlx5_iface.c @@ -292,8 +292,10 @@ ucs_status_t uct_rc_mlx5_iface_create_qp(uct_rc_mlx5_iface_common_t *iface, uct_ib_iface_fill_attr(ib_iface, attr); #if HAVE_DECL_MLX5DV_QP_CREATE_ALLOW_SCATTER_TO_CQE - dv_attr.comp_mask = MLX5DV_QP_INIT_ATTR_MASK_QP_CREATE_FLAGS; - dv_attr.create_flags = MLX5DV_QP_CREATE_ALLOW_SCATTER_TO_CQE; + if (ib_iface->config.max_inl_resp != 0) { + dv_attr.comp_mask |= MLX5DV_QP_INIT_ATTR_MASK_QP_CREATE_FLAGS; + dv_attr.create_flags = MLX5DV_QP_CREATE_ALLOW_SCATTER_TO_CQE; + } #endif qp->verbs.qp = mlx5dv_create_qp(dev->ibv_context, &attr->ibv, &dv_attr); if (qp->verbs.qp == NULL) {