Browse Source

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 years ago
parent
commit
346191a403
1 changed files with 6 additions and 0 deletions
  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,