|
Thomas Bogendoerfer |
5dc906 |
From: Wenpeng Liang <liangwenpeng@huawei.com>
|
|
Thomas Bogendoerfer |
5dc906 |
Date: Fri, 1 Nov 2019 10:33:30 +0800
|
|
Thomas Bogendoerfer |
5dc906 |
Subject: RDMA/hns: Correct the value of srq_desc_size
|
|
Thomas Bogendoerfer |
5dc906 |
Patch-mainline: v5.4-rc8
|
|
Thomas Bogendoerfer |
5dc906 |
Git-commit: 411c1e6774e2e1f96b1ccce4f119376b94ade3e4
|
|
Thomas Bogendoerfer |
5dc906 |
References: bsc#1104427 FATE#326416
|
|
Thomas Bogendoerfer |
5dc906 |
|
|
Thomas Bogendoerfer |
5dc906 |
srq_desc_size should be rounded up to pow of two before used, or related
|
|
Thomas Bogendoerfer |
5dc906 |
calculation may cause allocating wrong size of memory for srq buffer.
|
|
Thomas Bogendoerfer |
5dc906 |
|
|
Thomas Bogendoerfer |
5dc906 |
Fixes: c7bcb13442e1 ("RDMA/hns: Add SRQ support for hip08 kernel mode")
|
|
Thomas Bogendoerfer |
5dc906 |
Link: https://lore.kernel.org/r/1572575610-52530-3-git-send-email-liweihang@hisilicon.com
|
|
Thomas Bogendoerfer |
5dc906 |
Signed-off-by: Wenpeng Liang <liangwenpeng@huawei.com>
|
|
Thomas Bogendoerfer |
5dc906 |
Signed-off-by: Weihang Li <liweihang@hisilicon.com>
|
|
Thomas Bogendoerfer |
5dc906 |
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
|
|
Thomas Bogendoerfer |
5dc906 |
Acked-by: Thomas Bogendoerfer <tbogendoerfer@suse.de>
|
|
Thomas Bogendoerfer |
5dc906 |
---
|
|
Thomas Bogendoerfer |
5dc906 |
drivers/infiniband/hw/hns/hns_roce_srq.c | 2 +-
|
|
Thomas Bogendoerfer |
5dc906 |
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
Thomas Bogendoerfer |
5dc906 |
|
|
Thomas Bogendoerfer |
5dc906 |
--- a/drivers/infiniband/hw/hns/hns_roce_srq.c
|
|
Thomas Bogendoerfer |
5dc906 |
+++ b/drivers/infiniband/hw/hns/hns_roce_srq.c
|
|
Thomas Bogendoerfer |
5dc906 |
@@ -233,7 +233,7 @@ struct ib_srq *hns_roce_create_srq(struc
|
|
Thomas Bogendoerfer |
5dc906 |
srq->max = roundup_pow_of_two(srq_init_attr->attr.max_wr + 1);
|
|
Thomas Bogendoerfer |
5dc906 |
srq->max_gs = srq_init_attr->attr.max_sge;
|
|
Thomas Bogendoerfer |
5dc906 |
|
|
Thomas Bogendoerfer |
5dc906 |
- srq_desc_size = max(16, 16 * srq->max_gs);
|
|
Thomas Bogendoerfer |
5dc906 |
+ srq_desc_size = roundup_pow_of_two(max(16, 16 * srq->max_gs));
|
|
Thomas Bogendoerfer |
5dc906 |
|
|
Thomas Bogendoerfer |
5dc906 |
srq->wqe_shift = ilog2(srq_desc_size);
|
|
Thomas Bogendoerfer |
5dc906 |
|