Эх сурвалжийг харах

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 жил өмнө
parent
commit
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;