Kaynağa Gözat

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 yıl önce
ebeveyn
işleme
5e94208f72
1 değiştirilmiş dosya ile 8 ekleme ve 3 silme
  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)"),