Răsfoiți Sursa

qcacld-3.0: Fix SAP close issue in dual band SAP

In Dual band SAP+SAP, if channel change for a SAP, the SAP get
stuck in eSAP_DISCONNECTING state, waiting for channel change
indication for the concurrent SAP, which may never come as this
is Dual band SAP+SAP and both are on different bands.

Now when stop adapter is called for this SAP, the stop BSS fails
as its already in disconnecting state and due to this it is not
deleted cleanly.

To fix this if DBS is enabled change the channel of the AP on
which CSA was initiated without waiting for other SAP interface.

Change-Id: I54d903d4fc0694b16c1f1debf52ffe2a6dad0ba9
CRs-Fixed: 2097002
Abhishek Singh 7 ani în urmă
părinte
comite
9da81d0555
1 a modificat fișierele cu 6 adăugiri și 2 ștergeri
  1. 6 2
      core/sap/src/sap_api_link_cntl.c

+ 6 - 2
core/sap/src/sap_api_link_cntl.c

@@ -612,9 +612,13 @@ wlansap_roam_process_dfs_chansw_update(tHalHandle hHal,
 	 * Fetch the number of SAP interfaces. If the number of sap Interface
 	 * more than one then we will make is_sap_ready_for_chnl_chng to true
 	 * for that sapctx. If there is only one SAP interface then process
-	 * immediately
+	 * immediately. If Dual BAND SAP is enabled then also process
+	 * immediately, as in this case the both SAP will be in different band
+	 * and channel change on one SAP doesnt mean channel change on
+	 * other interface.
 	 */
-	if (sap_get_total_number_sap_intf(hHal) <= 1) {
+	if (sap_get_total_number_sap_intf(hHal) <= 1 ||
+	    policy_mgr_is_current_hwmode_dbs(mac_ctx->psoc)) {
 		/* Send channel switch request */
 		sap_event.event = eWNI_SME_CHANNEL_CHANGE_REQ;
 		sap_event.params = 0;