Parcourir la source

qcacmn: Fix incorrect access to mon buffer ring

Map mac_for_pdev appropriately for both MCL & WIN,
since MCL have multiple monitor buffer rings and
WIN just has one mon buffer ring, below API helps
identify accurate monitor buffer ring for both cases

CRs-Fixed: 2502051
Change-Id: I3929f3f7717d795850a41f4148397d87b0415118
phadiman il y a 5 ans
Parent
commit
797a49bc7d
1 fichiers modifiés avec 9 ajouts et 0 suppressions
  1. 9 0
      dp/wifi3.0/dp_rx_mon_dest.c

+ 9 - 0
dp/wifi3.0/dp_rx_mon_dest.c

@@ -1522,6 +1522,15 @@ void dp_mon_buf_delayed_replenish(struct dp_pdev *pdev)
 		mac_for_pdev = dp_get_mac_id_for_pdev(mac_id,
 						      pdev->pdev_id);
 
+		/*
+		 * Map mac_for_pdev appropriately for both MCL & WIN,
+		 * since MCL have multiple mon buf rings and WIN just
+		 * has one mon buffer ring, below API helps identify
+		 * accurate buffer_ring for both cases
+		 *
+		 */
+		mac_for_pdev = dp_get_mac_id_for_mac(soc, mac_for_pdev);
+
 		dp_rx_buffers_replenish(soc, mac_for_pdev,
 					dp_rxdma_get_mon_buf_ring(pdev,
 								  mac_for_pdev),