diff --git a/drivers/infiniband/hw/hns/hns_roce_srq.c b/drivers/infiniband/hw/hns/hns_roce_srq.c index 5540f0d0cce21aa7b46e48bd62795b2539b2737b..9caa9d558ff4fb51ce51198de983d85e30c4ab06 100644 --- a/drivers/infiniband/hw/hns/hns_roce_srq.c +++ b/drivers/infiniband/hw/hns/hns_roce_srq.c @@ -458,6 +458,7 @@ struct ib_srq *hns_roce_create_srq(struct ib_pd *pd, srq->max_gs = srq_init_attr->attr.max_sge + HNS_ROCE_RESERVED_SGE; srq_desc_size = max(HNS_ROCE_SGE_SIZE, HNS_ROCE_SGE_SIZE * srq->max_gs); + srq_desc_size = roundup_pow_of_two(srq_desc_size); srq->wqe_shift = ilog2(srq_desc_size);