| From 991b336316de5eaba323868a080c0ed3ff744b6c Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Tue, 5 Aug 2025 15:40:00 +0530 |
| Subject: RDMA/bnxt_re: Fix to initialize the PBL array |
| |
| From: Anantha Prabhu <anantha.prabhu@broadcom.com> |
| |
| [ Upstream commit 806b9f494f62791ee6d68f515a8056c615a0e7b2 ] |
| |
| memset the PBL page pointer and page map arrays before |
| populating the SGL addresses of the HWQ. |
| |
| Fixes: 0c4dcd602817 ("RDMA/bnxt_re: Refactor hardware queue memory allocation") |
| Signed-off-by: Anantha Prabhu <anantha.prabhu@broadcom.com> |
| Reviewed-by: Saravanan Vajravel <saravanan.vajravel@broadcom.com> |
| Reviewed-by: Selvin Xavier <selvin.xavier@broadcom.com> |
| Signed-off-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com> |
| Link: https://patch.msgid.link/20250805101000.233310-5-kalesh-anakkur.purayil@broadcom.com |
| Signed-off-by: Leon Romanovsky <leon@kernel.org> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| drivers/infiniband/hw/bnxt_re/qplib_res.c | 2 ++ |
| 1 file changed, 2 insertions(+) |
| |
| diff --git a/drivers/infiniband/hw/bnxt_re/qplib_res.c b/drivers/infiniband/hw/bnxt_re/qplib_res.c |
| index 02922a0987ad..b785d9e7774c 100644 |
| --- a/drivers/infiniband/hw/bnxt_re/qplib_res.c |
| +++ b/drivers/infiniband/hw/bnxt_re/qplib_res.c |
| @@ -121,6 +121,7 @@ static int __alloc_pbl(struct bnxt_qplib_res *res, |
| pbl->pg_arr = vmalloc_array(pages, sizeof(void *)); |
| if (!pbl->pg_arr) |
| return -ENOMEM; |
| + memset(pbl->pg_arr, 0, pages * sizeof(void *)); |
| |
| pbl->pg_map_arr = vmalloc_array(pages, sizeof(dma_addr_t)); |
| if (!pbl->pg_map_arr) { |
| @@ -128,6 +129,7 @@ static int __alloc_pbl(struct bnxt_qplib_res *res, |
| pbl->pg_arr = NULL; |
| return -ENOMEM; |
| } |
| + memset(pbl->pg_map_arr, 0, pages * sizeof(dma_addr_t)); |
| pbl->pg_count = 0; |
| pbl->pg_size = sginfo->pgsize; |
| |
| -- |
| 2.50.1 |
| |