From 958e0db9afd90571a074c5efbda1145e034cfb9c Mon Sep 17 00:00:00 2001 From: Venkateswara Naralasetty Date: Wed, 15 Nov 2023 00:24:27 +0530 Subject: [PATCH] qcacmn: fix out-of-bound issue in scattered list setup Fix out-of-bound issue in scattered list setup. Change-Id: I8a0c419227de3613d70229e1b6364d7e46dfbf7b CRs-Fixed: 3664082 (cherry picked from commit 754a729a834a4a1661afaf38ca19be3161fcfd6f) --- dp/wifi3.0/dp_main.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/dp/wifi3.0/dp_main.c b/dp/wifi3.0/dp_main.c index 04a2e7eaae..25d2a3d2bf 100644 --- a/dp/wifi3.0/dp_main.c +++ b/dp/wifi3.0/dp_main.c @@ -2697,8 +2697,11 @@ void dp_link_desc_ring_replenish(struct dp_soc *soc, uint32_t mac_id) } else { rem_entries = num_entries_per_buf; scatter_buf_num++; - if (scatter_buf_num >= num_scatter_bufs) + if (scatter_buf_num >= num_scatter_bufs) { + scatter_buf_num--; break; + } + scatter_buf_ptr = (uint8_t *) (soc->wbm_idle_scatter_buf_base_vaddr[ scatter_buf_num]); @@ -2713,7 +2716,7 @@ void dp_link_desc_ring_replenish(struct dp_soc *soc, uint32_t mac_id) num_scatter_bufs, soc->wbm_idle_scatter_buf_size, (uint32_t)(scatter_buf_ptr - (uint8_t *)(soc->wbm_idle_scatter_buf_base_vaddr[ - scatter_buf_num-1])), total_link_descs); + scatter_buf_num])), total_link_descs); } }