소스 검색

qcacld-3.0: Ignore beacon to announce join success for hidden ap

In enterprise network, multi aps with same SSID. some AP may
switch to hidden ap in working mode, but it didn't response
probereq, this is ap's issue, so not able to register this
bss to kernel. if continue connect it, it will hit key
install failure from userspace as wdev->connected wasn't enabled.

change is to wait for probersp to trigger join success announcement.
even if the ap didn't response, it will select another non-hidden AP.

Change-Id: I5596dcdf5978e3a832c87d52fc4d3db4f01904ab
CRs-Fixed: 3503410
Jingxiang Ge 1 년 전
부모
커밋
cbf24df31e
1개의 변경된 파일6개의 추가작업 그리고 0개의 파일을 삭제
  1. 6 0
      core/mac/src/pe/lim/lim_assoc_utils.c

+ 6 - 0
core/mac/src/pe/lim/lim_assoc_utils.c

@@ -3211,6 +3211,12 @@ lim_check_and_announce_join_success(struct mac_context *mac_ctx,
 	if (!LIM_IS_STA_ROLE(session_entry))
 	if (!LIM_IS_STA_ROLE(session_entry))
 		return;
 		return;
 
 
+	if (SIR_MAC_MGMT_BEACON == header->fc.subType &&
+	    lim_is_null_ssid(&beacon_probe_rsp->ssId)) {
+		pe_debug("for hidden ap, waiting probersp to announce join success");
+		return;
+	}
+
 	pe_debug("Received Beacon/PR with BSSID:"QDF_MAC_ADDR_FMT" pe session %d vdev %d",
 	pe_debug("Received Beacon/PR with BSSID:"QDF_MAC_ADDR_FMT" pe session %d vdev %d",
 		 QDF_MAC_ADDR_REF(session_entry->bssId),
 		 QDF_MAC_ADDR_REF(session_entry->bssId),
 		 session_entry->peSessionId,
 		 session_entry->peSessionId,