瀏覽代碼

qcacld-3.0: fix reassociation issue

While getting reassociation request frame, user space hostapd will
trigger diassociate with reason code 13. Association can't be
established.

The root cause is host driver forwards more 6 bytes to user space.
The 6 bytes is current AP address in association request frame.
Hostapd can't paras association request frame because the additional
6 bytes.

Skip current AP address before forwarding reassociation request
frame to user space.

Change-Id: I94a7c26289f24a1f0716fe64c4ee58eae1a913c6
CRs-Fixed: 2435392
Yu Ouyang 6 年之前
父節點
當前提交
346191a403
共有 1 個文件被更改,包括 6 次插入0 次删除
  1. 6 0
      core/sap/src/sap_fsm.c

+ 6 - 0
core/sap/src/sap_fsm.c

@@ -1634,6 +1634,12 @@ QDF_STATUS sap_signal_hdd_event(struct sap_context *sap_ctx,
 		reassoc_complete->ies = (csr_roaminfo->assocReqPtr +
 					 ASSOC_REQ_IE_OFFSET);
 
+		/* skip current AP address in reassoc frame */
+		if (csr_roaminfo->fReassocReq) {
+			reassoc_complete->ies_len -= QDF_MAC_ADDR_SIZE;
+			reassoc_complete->ies += QDF_MAC_ADDR_SIZE;
+		}
+
 		if (csr_roaminfo->addIELen) {
 			if (wlan_get_vendor_ie_ptr_from_oui(
 			    SIR_MAC_P2P_OUI, SIR_MAC_P2P_OUI_SIZE,