浏览代码

qca-wifi: Disable radar detection after radar found on precac chan

When radar is detected on a zero-wait-precac channel, the precac channel
changes but the phyerror buffers for the previous precac channel keep
coming, affecting the newly configured precac channel and creating false
detects.

Consider, a Cascade AP operating in home channel 36VHT80 and the precac
channel is 52VHT80. When the radar is injected on channel 52VHT80, the
precac channel changes to the next precac channel 100VHT80 but still
continues to receive the queued phyerror buffers, causing radar detects
on channel 100VHT80(false detects with respect to channel 100VHT80).

Disable radar detection after radar got detected on the precac channel.

CRs-Fixed: 2812335
Change-Id: I1e06c53f00e596d9142f3aeb25a00b9da088538b
Vignesh U 4 年之前
父节点
当前提交
b8e1892a63
共有 1 个文件被更改,包括 13 次插入0 次删除
  1. 13 0
      umac/dfs/core/src/misc/dfs_zero_cac.c

+ 13 - 0
umac/dfs/core/src/misc/dfs_zero_cac.c

@@ -5160,6 +5160,19 @@ dfs_process_radar_ind_on_agile_chan(struct wlan_dfs *dfs,
 			 radar_found->detector_id,
 			 nol_freq_list,
 			 num_channels);
+	 /*
+	  * EV 129487 : We have detected radar in the channel,
+	  * stop processing PHY error data as this can cause
+	  * false detect in the new channel while channel
+	  * change is in progress.
+	  */
+
+	 if (!dfs->dfs_is_offload_enabled) {
+		 dfs_radar_disable(dfs);
+		 dfs_second_segment_radar_disable(dfs);
+		 dfs_reset_radarq(dfs);
+	 }
+
 	if (is_radar_source_agile)
 		utils_dfs_agile_sm_deliver_evt(dfs->dfs_pdev_obj,
 					       DFS_AGILE_SM_EV_ADFS_RADAR);