浏览代码

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 年之前
父节点
当前提交
4560fa063d
共有 1 个文件被更改,包括 10 次插入2 次删除
  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;
 }