Browse Source

qcacmn: reset monitor filter before ring reap

In monitor mode, as part of VDEV delete, we are reaping
monitor rings to avoid backpressure from RXDMA2SW ring.
Looks like the ring continues to grow even after reaping,
reset the monitor filters before reaping to avoid
ring backpressure.

Change-Id: I0d9dde61b62648f8ce11c15ba23612fc8491fff2
CRs-Fixed: 2807482
Manikanta Pubbisetty 4 năm trước cách đây
mục cha
commit
a51d70591e
1 tập tin đã thay đổi với 7 bổ sung0 xóa
  1. 7 0
      dp/wifi3.0/dp_main.c

+ 7 - 0
dp/wifi3.0/dp_main.c

@@ -6573,6 +6573,13 @@ static void dp_flush_monitor_rings(struct dp_soc *soc)
 	int budget;
 	void *mon_dst_srng;
 
+	/* Reset monitor filters before reaping the ring*/
+	qdf_spin_lock_bh(&pdev->mon_lock);
+	dp_mon_filter_reset_mon_mode(pdev);
+	if (dp_mon_filter_update(pdev) != QDF_STATUS_SUCCESS)
+		dp_info("failed to reset monitor filters");
+	qdf_spin_unlock_bh(&pdev->mon_lock);
+
 	if (pdev->mon_chan_band == REG_BAND_UNKNOWN)
 		return;