diff --git a/contrib/ofed/libmlx5/verbs.c b/contrib/ofed/libmlx5/verbs.c --- a/contrib/ofed/libmlx5/verbs.c +++ b/contrib/ofed/libmlx5/verbs.c @@ -2077,6 +2077,10 @@ if (!rwq) return NULL; + ret = ibv_init_wq(&rwq->wq); + if (ret < 0) + goto err; + rwq->wq_sig = rwq_sig_enabled(context); if (rwq->wq_sig) cmd.drv.flags = MLX5_RWQ_FLAG_SIGNATURE; @@ -2084,13 +2088,9 @@ ret = mlx5_calc_rwq_size(ctx, rwq, attr); if (ret < 0) { errno = -ret; - goto err; + goto err_cleanup_wq; } - ret = ibv_init_wq(&rwq->wq); - if (ret < 0) - goto err; - rwq->buf_size = ret; if (mlx5_alloc_rwq_buf(context, rwq, ret)) goto err_cleanup_wq;