Procházet zdrojové kódy

qcacld-3.0: Reset dfs_cac_block_tx flag on channel switch event

After the pre-CAC is done, SAP is switched to DFS channel. Post
this if a radar event is received, tx is blocked for the vdev
and channel switch to non-DFS channel is triggered. The
dfs_cac_block_tx flag is not reset on successful channel switch
to non-DFS channel causing packets received from network stack
to be dropped.

Fix is to reset dfs_cac_block_tx flag on receiving channel
switch response event.

Change-Id: I4e5fe0490d4c81b45c648a50c0b8508a7c11fa5a
CRs-Fixed: 2764008
Yeshwanth Sriram Guntuka před 4 roky
rodič
revize
0515d4be15
1 změnil soubory, kde provedl 4 přidání a 0 odebrání
  1. 4 0
      core/hdd/src/wlan_hdd_hostapd.c

+ 4 - 0
core/hdd/src/wlan_hdd_hostapd.c

@@ -2701,6 +2701,10 @@ QDF_STATUS hdd_hostapd_sap_event_cb(struct sap_event *sap_event,
 		policy_mgr_set_chan_switch_complete_evt(hdd_ctx->psoc);
 		wlan_hdd_enable_roaming(adapter,
 					RSO_SAP_CHANNEL_CHANGE);
+		if (CHANNEL_STATE_DFS !=
+		    wlan_reg_get_channel_state_for_freq(hdd_ctx->pdev,
+						ap_ctx->operating_chan_freq))
+			ap_ctx->dfs_cac_block_tx = false;
 
 		/* Check any other sap need restart */
 		if (ap_ctx->sap_context->csa_reason ==