فهرست منبع

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 سال پیش
والد
کامیت
a51d70591e
1فایلهای تغییر یافته به همراه7 افزوده شده و 0 حذف شده
  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;