瀏覽代碼

qcacld-3.0: Fix roaming fresh assoc issue in mcc

qcacld-2.0 to qcacld-3.0 propagation

Roaming send fresh assoc instead of reassoc because the preauth frame
has high possibility sending on wrong channel if in MCC. Need to
trigger scan to schedule to target AP channel if DUT in MCC state.

Change-Id: Ifee8bc00c10ea995093e3f4621b94e0d81a7c32e
CRs-Fixed: 962162
Hong Shi 8 年之前
父節點
當前提交
5e94208f72
共有 1 個文件被更改,包括 8 次插入3 次删除
  1. 8 3
      core/mac/src/pe/lim/lim_ft_preauth.c

+ 8 - 3
core/mac/src/pe/lim/lim_ft_preauth.c

@@ -31,6 +31,7 @@
 #include <lim_prop_exts_utils.h>
 #include <lim_assoc_utils.h>
 #include <lim_session.h>
+#include <lim_session_utils.h>
 #include <lim_admit_control.h>
 #include "wma.h"
 
@@ -191,9 +192,13 @@ int lim_process_ft_pre_auth_req(tpAniSirGlobal mac_ctx, tpSirMsgQ msg)
 			      session, 0, 0);
 #endif
 
-	/* Dont need to suspend if APs are in same channel */
-	if (session->currentOperChannel !=
-	    session->ftPEContext.pFTPreAuthReq->preAuthchannelNum) {
+	/*
+	 * Dont need to suspend if APs are in same channel and DUT
+	 * is not in MCC state
+	 */
+	if ((session->currentOperChannel !=
+	    session->ftPEContext.pFTPreAuthReq->preAuthchannelNum)
+	    || lim_is_in_mcc(mac_ctx)) {
 		/* Need to suspend link only if the channels are different */
 		lim_log(mac_ctx, LOG2,
 			FL("Performing pre-auth on diff channel(session %p)"),