RDMA/hns: Fix retry_cnt and rnr_cnt when querying QP
authorWenpeng Liang <liangwenpeng@huawei.com>
Thu, 26 Nov 2020 09:29:37 +0000 (17:29 +0800)
committerJason Gunthorpe <jgg@nvidia.com>
Thu, 26 Nov 2020 14:57:32 +0000 (10:57 -0400)
The maximum number of retransmission should be returned when querying QP,
not the value of retransmission counter.

Fixes: 99fcf82521d9 ("RDMA/hns: Fix the wrong value of rnr_retry when querying qp")
Fixes: 926a01dc000d ("RDMA/hns: Add QP operations support for hip08 SoC")
Link: https://lore.kernel.org/r/1606382977-21431-1-git-send-email-liweihang@huawei.com
Signed-off-by: Wenpeng Liang <liangwenpeng@huawei.com>
Signed-off-by: Weihang Li <liweihang@huawei.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
drivers/infiniband/hw/hns/hns_roce_hw_v2.c

index 6d30850..ce4a476 100644 (file)
@@ -4989,11 +4989,11 @@ static int hns_roce_v2_query_qp(struct ib_qp *ibqp, struct ib_qp_attr *qp_attr,
                                              V2_QPC_BYTE_28_AT_M,
                                              V2_QPC_BYTE_28_AT_S);
        qp_attr->retry_cnt = roce_get_field(context.byte_212_lsn,
-                                           V2_QPC_BYTE_212_RETRY_CNT_M,
-                                           V2_QPC_BYTE_212_RETRY_CNT_S);
+                                           V2_QPC_BYTE_212_RETRY_NUM_INIT_M,
+                                           V2_QPC_BYTE_212_RETRY_NUM_INIT_S);
        qp_attr->rnr_retry = roce_get_field(context.byte_244_rnr_rxack,
-                                           V2_QPC_BYTE_244_RNR_CNT_M,
-                                           V2_QPC_BYTE_244_RNR_CNT_S);
+                                           V2_QPC_BYTE_244_RNR_NUM_INIT_M,
+                                           V2_QPC_BYTE_244_RNR_NUM_INIT_S);
 
 done:
        qp_attr->cur_qp_state = qp_attr->qp_state;