RDMA/hns: Only assign mtu if IB_QP_PATH_MTU bit is set
authoroulijun <oulijun@huawei.com>
Thu, 26 Apr 2018 06:46:18 +0000 (14:46 +0800)
committerDoug Ledford <dledford@redhat.com>
Fri, 27 Apr 2018 18:20:47 +0000 (14:20 -0400)
Only when the IB_QP_PATH_MTU flag of attr_mask is set
it is valid to assign the mtu field of qp context when
qp type is not GSI and UD.

Signed-off-by: Lijun Ou <oulijun@huawei.com>
Signed-off-by: Doug Ledford <dledford@redhat.com>
drivers/infiniband/hw/hns/hns_roce_hw_v2.c

index a4eea701d19d05b32da9788cd714cbec538bf739..9a3148103a5f908e5e2cb753a800044f2bdf2be3 100644 (file)
@@ -2850,7 +2850,7 @@ static int modify_qp_init_to_rtr(struct ib_qp *ibqp,
        if (ibqp->qp_type == IB_QPT_GSI || ibqp->qp_type == IB_QPT_UD)
                roce_set_field(context->byte_24_mtu_tc, V2_QPC_BYTE_24_MTU_M,
                               V2_QPC_BYTE_24_MTU_S, IB_MTU_4096);
-       else
+       else if (attr_mask & IB_QP_PATH_MTU)
                roce_set_field(context->byte_24_mtu_tc, V2_QPC_BYTE_24_MTU_M,
                               V2_QPC_BYTE_24_MTU_S, attr->path_mtu);