|
@@ -4678,17 +4678,18 @@ static int _mlx5_ib_post_send(struct ib_qp *ibqp, const struct ib_send_wr *wr,
|
|
|
goto out;
|
|
|
}
|
|
|
|
|
|
- if (wr->opcode == IB_WR_LOCAL_INV ||
|
|
|
- wr->opcode == IB_WR_REG_MR) {
|
|
|
+ if (wr->opcode == IB_WR_REG_MR) {
|
|
|
fence = dev->umr_fence;
|
|
|
next_fence = MLX5_FENCE_MODE_INITIATOR_SMALL;
|
|
|
- } else if (wr->send_flags & IB_SEND_FENCE) {
|
|
|
- if (qp->next_fence)
|
|
|
- fence = MLX5_FENCE_MODE_SMALL_AND_FENCE;
|
|
|
- else
|
|
|
- fence = MLX5_FENCE_MODE_FENCE;
|
|
|
- } else {
|
|
|
- fence = qp->next_fence;
|
|
|
+ } else {
|
|
|
+ if (wr->send_flags & IB_SEND_FENCE) {
|
|
|
+ if (qp->next_fence)
|
|
|
+ fence = MLX5_FENCE_MODE_SMALL_AND_FENCE;
|
|
|
+ else
|
|
|
+ fence = MLX5_FENCE_MODE_FENCE;
|
|
|
+ } else {
|
|
|
+ fence = qp->next_fence;
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
switch (ibqp->qp_type) {
|