RDMA/hns: Fix wrong assignment of SRQ's max_wr
authorWeihang Li <liweihang@huawei.com>
Fri, 8 May 2020 09:45:54 +0000 (17:45 +0800)
committerJason Gunthorpe <jgg@mellanox.com>
Tue, 19 May 2020 23:54:58 +0000 (20:54 -0300)
srq's attribute max_wr should be 1 less than the total count of wqe.

Fixes: ffb1308b88b6 ("RDMA/hns: Move SRQ code to the reasonable place")
Link: https://lore.kernel.org/r/1588931159-56875-5-git-send-email-liweihang@huawei.com
Signed-off-by: Weihang Li <liweihang@huawei.com>
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
drivers/infiniband/hw/hns/hns_roce_hw_v2.c

index 96a5ff5..155c658 100644 (file)
@@ -5044,8 +5044,8 @@ static int hns_roce_v2_query_srq(struct ib_srq *ibsrq, struct ib_srq_attr *attr)
                                  SRQC_BYTE_8_SRQ_LIMIT_WL_S);
 
        attr->srq_limit = limit_wl;
-       attr->max_wr    = srq->wqe_cnt;
-       attr->max_sge   = srq->max_gs;
+       attr->max_wr = srq->wqe_cnt - 1;
+       attr->max_sge = srq->max_gs;
 
        memcpy(srq_context, mailbox->buf, sizeof(*srq_context));