History

RDMA/mlx5: Don't rely on FW to set zeros in ECE response

The FW returns zeros in case feature is not enabled, but it is better to have the capability check and ensure that returned result is cleared.

Leon Romanovsky committed 6 years ago

Commit 92cd6671 parent 6512f111 file · +4 −2Browse files

Unified · Split

drivers/infiniband/hw/mlx5/qp.c+4−2
@@ -1906,7 +1906,8 @@ static int create_xrc_tgt_qp(struct mlx5_ib_dev *dev, struct mlx5_ib_qp *qp, · 1905 unmodified lines
19061906
19071907 base->container_mibqp = qp;
19081908 base->mqp.event = mlx5_ib_qp_event;
1909− params->resp.ece_options = MLX5_GET(create_qp_out, out, ece);
1909+ if (MLX5_CAP_GEN(mdev, ece_support))
1910+ params->resp.ece_options = MLX5_GET(create_qp_out, out, ece);
19101911
19111912 spin_lock_irqsave(&dev->reset_flow_resource_lock, flags);
19121913 list_add_tail(&qp->qps_list, &dev->qp_list);
@@ -2082,7 +2083,8 @@ static int create_user_qp(struct mlx5_ib_dev *dev, struct ib_pd *pd, · 169 unmodified lines
20822083
20832084 base->container_mibqp = qp;
20842085 base->mqp.event = mlx5_ib_qp_event;
2085− params->resp.ece_options = MLX5_GET(create_qp_out, out, ece);
2086+ if (MLX5_CAP_GEN(mdev, ece_support))
2087+ params->resp.ece_options = MLX5_GET(create_qp_out, out, ece);
20862088
20872089 get_cqs(qp->type, init_attr->send_cq, init_attr->recv_cq,
20882090 &send_cq, &recv_cq);