qcacmn: Keep rx_refill_buf_ring using index pdev->lmac_id under MCL case

Fix static analysis issue of rx_refill_buf_ring buffer overflow.
rx_refill_buf_ring length is different for WIN/MCL. For MCL length is 1,
WIN is 3. So rx_refill_buf_ring should always use index pdev->lmac_id to
replenish rx buffer for different MACs under MCL.

Change-Id: I00af069c09c01a81ae4aa54bad5beb79dc6fcff5
CRs-Fixed: 2703683
此提交包含在:
Ben Wang
2020-06-03 20:37:49 +08:00
提交者 nshrivas
父節點 aab74f76ee
當前提交 909e4e1893
共有 2 個檔案被更改,包括 12 行新增3 行删除

查看文件

@@ -1673,8 +1673,14 @@ static int dp_process_lmac_rings(struct dp_intr *int_ctx, int total_budget)
(1 << mac_for_pdev)) {
union dp_rx_desc_list_elem_t *desc_list = NULL;
union dp_rx_desc_list_elem_t *tail = NULL;
struct dp_srng *rx_refill_buf_ring =
&soc->rx_refill_buf_ring[mac_for_pdev];
struct dp_srng *rx_refill_buf_ring;
if (wlan_cfg_per_pdev_lmac_ring(soc->wlan_cfg_ctx))
rx_refill_buf_ring =
&soc->rx_refill_buf_ring[mac_for_pdev];
else
rx_refill_buf_ring =
&soc->rx_refill_buf_ring[pdev->lmac_id];
intr_stats->num_host2rxdma_ring_masks++;
DP_STATS_INC(pdev, replenish.low_thresh_intrs,