Browse Source

qcacld-3.0: Ignore security mismatch for HS2.0 association

qcacld-2.0 to qcacld-3.0 propagation

After connection, driver process beacon  to detect any change in
AP's capabilities. Currently if privacy bit is set in beacon and
if rsn or wpa bit is not set, driver issues disconnect command.

In case of HS2.0, all security capabilities are part of vendor
specific information. Hence, both wpa and rsn bit is 0, though
privacy bit is set. Since driver considers it as a change in AP
security params, it issues disconnect. As a part of fix, make sure
that for OSEN capabilities disconnect is not issued.

Change-Id: I800bea0448256f663f61bccf6b0ec6b0f71d824b
CRs-Fixed: 796397
Abhishek Singh 8 năm trước cách đây
mục cha
commit
4560fa063d
1 tập tin đã thay đổi với 10 bổ sung2 xóa
  1. 10 2
      core/mac/src/pe/lim/lim_api.c

+ 10 - 2
core/mac/src/pe/lim/lim_api.c

@@ -1289,9 +1289,9 @@ lim_enc_type_matched(tpAniSirGlobal mac_ctx,
 		FL("Beacon/Probe:: Privacy :%d WPA Present:%d RSN Present: %d"),
 		bcn->capabilityInfo.privacy, bcn->wpaPresent, bcn->rsnPresent);
 	lim_log(mac_ctx, LOG1,
-		FL("session:: Privacy :%d EncyptionType: %d"),
+		FL("session:: Privacy :%d EncyptionType: %d OSEN %d"),
 		SIR_MAC_GET_PRIVACY(session->limCurrentBssCaps),
-		session->encryptType);
+		session->encryptType, session->isOSENConnection);
 
 	/*
 	 * This is handled by sending probe req due to IOT issues so
@@ -1327,6 +1327,14 @@ lim_enc_type_matched(tpAniSirGlobal mac_ctx,
 		(session->encryptType == eSIR_ED_AES_128_CMAC)))
 		return true;
 
+	/* For HS2.0, RSN ie is not present
+	 * in beacon. Therefore no need to
+	 * check for security type in case
+	 * OSEN session.
+	 */
+	if (session->isOSENConnection)
+		return true;
+
 	return false;
 }