RDMA/hns: Force srq_limit to 0 when creating SRQ
authorWenpeng Liang <liangwenpeng@huawei.com>
Sat, 30 Jan 2021 08:58:01 +0000 (16:58 +0800)
committerJason Gunthorpe <jgg@nvidia.com>
Mon, 8 Feb 2021 23:37:34 +0000 (19:37 -0400)
According to the IB Specification, srq_limit shouldn't be configured
during SRQ creation. If a user set srq_limit at this time, the driver
should forced it to zero, or the result of creating SRQ will conflict with
the result of querying SRQ.

Fixes: c7bcb13442e1 ("RDMA/hns: Add SRQ support for hip08 kernel mode")
Link: https://lore.kernel.org/r/1611997090-48820-4-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_srq.c

index e622fd1d4c4b75d6ef1435aebf71638a6e039a3e..47e66fe74d196236623a06498a5daa83adefa39d 100644 (file)
@@ -336,6 +336,7 @@ int hns_roce_create_srq(struct ib_srq *ib_srq,
                roundup_pow_of_two(init_attr->attr.max_sge + srq->rsv_sge);
        init_attr->attr.max_wr = srq->wqe_cnt;
        init_attr->attr.max_sge = srq->max_gs;
+       init_attr->attr.srq_limit = 0;
 
        if (udata) {
                ret = ib_copy_from_udata(&ucmd, udata,