diff options
Diffstat (limited to 'drivers/infiniband/hw/mlx5/qp.c')
-rw-r--r-- | drivers/infiniband/hw/mlx5/qp.c | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/drivers/infiniband/hw/mlx5/qp.c b/drivers/infiniband/hw/mlx5/qp.c index 8fb9c27485e1..9116bc3988a6 100644 --- a/drivers/infiniband/hw/mlx5/qp.c +++ b/drivers/infiniband/hw/mlx5/qp.c | |||
@@ -1036,7 +1036,7 @@ static int create_raw_packet_qp_rq(struct mlx5_ib_dev *dev, | |||
1036 | wq = MLX5_ADDR_OF(rqc, rqc, wq); | 1036 | wq = MLX5_ADDR_OF(rqc, rqc, wq); |
1037 | MLX5_SET(wq, wq, wq_type, MLX5_WQ_TYPE_CYCLIC); | 1037 | MLX5_SET(wq, wq, wq_type, MLX5_WQ_TYPE_CYCLIC); |
1038 | MLX5_SET(wq, wq, end_padding_mode, | 1038 | MLX5_SET(wq, wq, end_padding_mode, |
1039 | MLX5_GET64(qpc, qpc, end_padding_mode)); | 1039 | MLX5_GET(qpc, qpc, end_padding_mode)); |
1040 | MLX5_SET(wq, wq, page_offset, MLX5_GET(qpc, qpc, page_offset)); | 1040 | MLX5_SET(wq, wq, page_offset, MLX5_GET(qpc, qpc, page_offset)); |
1041 | MLX5_SET(wq, wq, pd, MLX5_GET(qpc, qpc, pd)); | 1041 | MLX5_SET(wq, wq, pd, MLX5_GET(qpc, qpc, pd)); |
1042 | MLX5_SET64(wq, wq, dbr_addr, MLX5_GET64(qpc, qpc, dbr_addr)); | 1042 | MLX5_SET64(wq, wq, dbr_addr, MLX5_GET64(qpc, qpc, dbr_addr)); |
@@ -1615,15 +1615,6 @@ struct ib_qp *mlx5_ib_create_qp(struct ib_pd *pd, | |||
1615 | 1615 | ||
1616 | if (pd) { | 1616 | if (pd) { |
1617 | dev = to_mdev(pd->device); | 1617 | dev = to_mdev(pd->device); |
1618 | } else { | ||
1619 | /* being cautious here */ | ||
1620 | if (init_attr->qp_type != IB_QPT_XRC_TGT && | ||
1621 | init_attr->qp_type != MLX5_IB_QPT_REG_UMR) { | ||
1622 | pr_warn("%s: no PD for transport %s\n", __func__, | ||
1623 | ib_qp_type_str(init_attr->qp_type)); | ||
1624 | return ERR_PTR(-EINVAL); | ||
1625 | } | ||
1626 | dev = to_mdev(to_mxrcd(init_attr->xrcd)->ibxrcd.device); | ||
1627 | 1618 | ||
1628 | if (init_attr->qp_type == IB_QPT_RAW_PACKET) { | 1619 | if (init_attr->qp_type == IB_QPT_RAW_PACKET) { |
1629 | if (!pd->uobject) { | 1620 | if (!pd->uobject) { |
@@ -1634,6 +1625,15 @@ struct ib_qp *mlx5_ib_create_qp(struct ib_pd *pd, | |||
1634 | return ERR_PTR(-EINVAL); | 1625 | return ERR_PTR(-EINVAL); |
1635 | } | 1626 | } |
1636 | } | 1627 | } |
1628 | } else { | ||
1629 | /* being cautious here */ | ||
1630 | if (init_attr->qp_type != IB_QPT_XRC_TGT && | ||
1631 | init_attr->qp_type != MLX5_IB_QPT_REG_UMR) { | ||
1632 | pr_warn("%s: no PD for transport %s\n", __func__, | ||
1633 | ib_qp_type_str(init_attr->qp_type)); | ||
1634 | return ERR_PTR(-EINVAL); | ||
1635 | } | ||
1636 | dev = to_mdev(to_mxrcd(init_attr->xrcd)->ibxrcd.device); | ||
1637 | } | 1637 | } |
1638 | 1638 | ||
1639 | switch (init_attr->qp_type) { | 1639 | switch (init_attr->qp_type) { |