Browse Source

qcacld-3.0: Reset CAC state if another AP is not on 5GHz

In case of DBS, two AP can operate on different band together.
Current logic of resetting CAC state in sap_clear_global_dfs_param
function assumes that if two APs are up state then it must be SCC
scenario and resulting in dropping of tx packets if stop follwed by
start operation is performed on AP on DFS channel.

This change reset CAC state as part of stop AP if another AP is
operating on 2.4GHz in case of DBS operation.

Change-Id: I3f71606bf610d45184a0fa81d2b9d9a6c11f72e8
CRs-Fixed: 2509808
Nirav Shah 5 years ago
parent
commit
4474439d4c
1 changed files with 3 additions and 1 deletions
  1. 3 1
      core/sap/src/sap_fsm.c

+ 3 - 1
core/sap/src/sap_fsm.c

@@ -1069,8 +1069,10 @@ sap_find_valid_concurrent_session(mac_handle_t mac_handle)
 static QDF_STATUS sap_clear_global_dfs_param(mac_handle_t mac_handle)
 {
 	struct mac_context *mac_ctx = MAC_CONTEXT(mac_handle);
+	struct sap_context *sap_ctx;
 
-	if (sap_find_valid_concurrent_session(mac_handle)) {
+	sap_ctx = sap_find_valid_concurrent_session(mac_handle);
+	if (sap_ctx && WLAN_REG_IS_5GHZ_CH(sap_ctx->channel)) {
 		QDF_TRACE(QDF_MODULE_ID_SAP, QDF_TRACE_LEVEL_DEBUG,
 			  "conc session exists, no need to clear dfs struct");
 		return QDF_STATUS_SUCCESS;