From 75afbebffef2b6be8db6cfbdfe037762780c878e Mon Sep 17 00:00:00 2001 From: "Selvaraj, Sridhar" Date: Mon, 3 Apr 2017 17:08:59 +0530 Subject: [PATCH] qcacld-3.0: Host driver changes to support 11ai frame parsing As part of Ic1b670e23f637f11b494422ad9954c1d7515e833, frame parser files are changes to support 11ai frames parsing. This changes addresses required host driver changes to support the 11ai frame parsing. Change-Id: Ia62d546ba1507d8541382369102840be316c466c CRs-Fixed: 2028592 --- core/hdd/src/wlan_hdd_assoc.c | 4 +- core/hdd/src/wlan_hdd_cfg80211.c | 7 +-- core/hdd/src/wlan_hdd_hostapd.c | 7 +-- core/hdd/src/wlan_hdd_scan.c | 2 +- .../mac/src/pe/lim/lim_process_action_frame.c | 26 ++++----- .../src/pe/lim/lim_process_assoc_req_frame.c | 4 +- core/mac/src/pe/lim/lim_sme_req_utils.c | 8 +-- core/mac/src/pe/lim/lim_utils.c | 4 +- .../src/sys/legacy/src/utils/src/parser_api.c | 54 +++++++++++-------- core/sme/src/csr/csr_roam_preauth.c | 2 +- core/sme/src/csr/csr_util.c | 7 ++- 11 files changed, 69 insertions(+), 56 deletions(-) diff --git a/core/hdd/src/wlan_hdd_assoc.c b/core/hdd/src/wlan_hdd_assoc.c index 6d7ce44a39ca..ca1e94edd11e 100644 --- a/core/hdd/src/wlan_hdd_assoc.c +++ b/core/hdd/src/wlan_hdd_assoc.c @@ -5252,7 +5252,7 @@ static int32_t hdd_process_genie(hdd_adapter_t *pAdapter, RSNIeLen = gen_ie_len - 2; /* Unpack the RSN IE */ dot11f_unpack_ie_rsn((tpAniSirGlobal) halHandle, - pRsnIe, RSNIeLen, &dot11RSNIE); + pRsnIe, RSNIeLen, &dot11RSNIE, false); /* Copy out the encryption and authentication types */ hdd_debug("pairwise cipher suite count: %d", dot11RSNIE.pwise_cipher_suite_count); @@ -5320,7 +5320,7 @@ static int32_t hdd_process_genie(hdd_adapter_t *pAdapter, RSNIeLen = gen_ie_len - (2 + 4); /* Unpack the WPA IE */ dot11f_unpack_ie_wpa((tpAniSirGlobal) halHandle, - pRsnIe, RSNIeLen, &dot11WPAIE); + pRsnIe, RSNIeLen, &dot11WPAIE, false); /* Copy out the encryption and authentication types */ hdd_debug("WPA unicast cipher suite count: %d", dot11WPAIE.unicast_cipher_count); diff --git a/core/hdd/src/wlan_hdd_cfg80211.c b/core/hdd/src/wlan_hdd_cfg80211.c index 60ff70ddcf7e..6f1cea5c6dcd 100644 --- a/core/hdd/src/wlan_hdd_cfg80211.c +++ b/core/hdd/src/wlan_hdd_cfg80211.c @@ -14618,9 +14618,10 @@ static int wlan_hdd_cfg80211_set_privacy_ibss(hdd_adapter_t *pAdapter, * and four byte WiFi OUI */ dot11f_unpack_ie_wpa((tpAniSirGlobal) halHandle, - &ie[2 + 4], - ie[1] - 4, &dot11WPAIE); - /* Extract the multicast cipher, the + &ie[2 + 4], ie[1] - 4, + &dot11WPAIE, false); + /* + * Extract the multicast cipher, the * encType for unicast cipher for * wpa-none is none */ diff --git a/core/hdd/src/wlan_hdd_hostapd.c b/core/hdd/src/wlan_hdd_hostapd.c index 472c8dcd482c..9c371af01399 100644 --- a/core/hdd/src/wlan_hdd_hostapd.c +++ b/core/hdd/src/wlan_hdd_hostapd.c @@ -2177,7 +2177,7 @@ int hdd_softap_unpack_ie(tHalHandle halHandle, /* Unpack the RSN IE */ memset(&dot11RSNIE, 0, sizeof(tDot11fIERSN)); dot11f_unpack_ie_rsn((tpAniSirGlobal) halHandle, - pRsnIe, RSNIeLen, &dot11RSNIE); + pRsnIe, RSNIeLen, &dot11RSNIE, false); /* Copy out the encryption and authentication types */ hdd_debug("pairwise cipher suite count: %d", dot11RSNIE.pwise_cipher_suite_count); @@ -2214,7 +2214,7 @@ int hdd_softap_unpack_ie(tHalHandle halHandle, /* Unpack the WPA IE */ memset(&dot11WPAIE, 0, sizeof(tDot11fIEWPA)); dot11f_unpack_ie_wpa((tpAniSirGlobal) halHandle, - pRsnIe, RSNIeLen, &dot11WPAIE); + pRsnIe, RSNIeLen, &dot11WPAIE, false); /* Copy out the encryption and authentication types */ hdd_debug("WPA unicast cipher suite count: %d", dot11WPAIE.unicast_cipher_count); @@ -6340,7 +6340,8 @@ static bool wlan_hdd_get_sap_obss(hdd_adapter_t *pHostapdAdapter) if (ie && ie[1]) { qdf_mem_copy(ht_cap_ie, &ie[2], DOT11F_IE_HTCAPS_MAX_LEN); dot11f_unpack_ie_ht_caps((tpAniSirGlobal)hdd_ctx->hHal, - ht_cap_ie, ie[1], &dot11_ht_cap_ie); + ht_cap_ie, ie[1], &dot11_ht_cap_ie, + false); return dot11_ht_cap_ie.supportedChannelWidthSet; } diff --git a/core/hdd/src/wlan_hdd_scan.c b/core/hdd/src/wlan_hdd_scan.c index d408fa9bb60a..eda64899ed44 100644 --- a/core/hdd/src/wlan_hdd_scan.c +++ b/core/hdd/src/wlan_hdd_scan.c @@ -340,7 +340,7 @@ static int hdd_indicate_scan_result(hdd_scan_info_t *scanInfo, dot11f_unpack_beacon_i_es((tpAniSirGlobal) hHal, (uint8_t *) descriptor->ieFields, - ie_length, &dot11BeaconIEs); + ie_length, &dot11BeaconIEs, false); pDot11SSID = &dot11BeaconIEs.SSID; diff --git a/core/mac/src/pe/lim/lim_process_action_frame.c b/core/mac/src/pe/lim/lim_process_action_frame.c index c891b972e0e5..cff14d69238d 100644 --- a/core/mac/src/pe/lim/lim_process_action_frame.c +++ b/core/mac/src/pe/lim/lim_process_action_frame.c @@ -239,7 +239,7 @@ static void __lim_process_channel_switch_action_frame(tpAniSirGlobal mac_ctx, /* Unpack channel switch frame */ status = dot11f_unpack_channel_switch(mac_ctx, body_ptr, frame_len, - chnl_switch_frame); + chnl_switch_frame, false); if (DOT11F_FAILED(status)) { lim_log(mac_ctx, LOGE, @@ -378,7 +378,7 @@ lim_process_ext_channel_switch_action_frame(tpAniSirGlobal mac_ctx, /* Unpack channel switch frame */ status = dot11f_unpack_ext_channel_switch_action_frame(mac_ctx, - body, frame_len, ext_channel_switch_frame); + body, frame_len, ext_channel_switch_frame, false); if (DOT11F_FAILED(status)) { @@ -492,7 +492,7 @@ static void __lim_process_operating_mode_action_frame(tpAniSirGlobal mac_ctx, } /* Unpack channel switch frame */ status = dot11f_unpack_operating_mode(mac_ctx, body_ptr, frame_len, - operating_mode_frm); + operating_mode_frm, false); if (DOT11F_FAILED(status)) { lim_log(mac_ctx, LOGE, FL("Failed to unpack and parse (0x%08x, %d bytes)"), @@ -625,7 +625,7 @@ static void __lim_process_gid_management_action_frame(tpAniSirGlobal mac_ctx, /* Unpack Gid Mangement Action frame */ status = dot11f_unpack_vht_gid_management_action_frame(mac_ctx, - body_ptr, frame_len, gid_mgmt_frame); + body_ptr, frame_len, gid_mgmt_frame, false); if (DOT11F_FAILED(status)) { lim_log(mac_ctx, LOGE, FL("Fail to parse an Grp id frame (0x%08x, %d bytes):"), @@ -1295,7 +1295,8 @@ __lim_process_sm_power_save_update(tpAniSirGlobal pMac, uint8_t *pRxPacketInfo, } /**Unpack the received frame */ - nStatus = dot11f_unpack_sm_power_save(pMac, pBody, frameLen, &frmSMPower); + nStatus = dot11f_unpack_sm_power_save(pMac, pBody, frameLen, + &frmSMPower, false); if (DOT11F_FAILED(nStatus)) { lim_log(pMac, LOGE, @@ -1382,9 +1383,8 @@ __lim_process_radio_measure_request(tpAniSirGlobal pMac, uint8_t *pRxPacketInfo, } /**Unpack the received frame */ - nStatus = dot11f_unpack_radio_measurement_request(pMac, - pBody, - frameLen, frm); + nStatus = dot11f_unpack_radio_measurement_request(pMac, pBody, + frameLen, frm, false); if (DOT11F_FAILED(nStatus)) { lim_log(pMac, LOGE, @@ -1427,7 +1427,8 @@ __lim_process_link_measurement_req(tpAniSirGlobal pMac, uint8_t *pRxPacketInfo, /**Unpack the received frame */ nStatus = - dot11f_unpack_link_measurement_request(pMac, pBody, frameLen, &frm); + dot11f_unpack_link_measurement_request(pMac, pBody, frameLen, + &frm, false); if (DOT11F_FAILED(nStatus)) { lim_log(pMac, LOGE, @@ -1480,7 +1481,8 @@ __lim_process_neighbor_report(tpAniSirGlobal pMac, uint8_t *pRxPacketInfo, /**Unpack the received frame */ nStatus = - dot11f_unpack_neighbor_report_response(pMac, pBody, frameLen, pFrm); + dot11f_unpack_neighbor_report_response(pMac, pBody, + frameLen, pFrm, false); if (DOT11F_FAILED(nStatus)) { lim_log(pMac, LOGE, @@ -1755,7 +1757,7 @@ static void lim_process_addba_req(tpAniSirGlobal mac_ctx, uint8_t *rx_pkt_info, /* Unpack ADDBA request frame */ status = dot11f_unpack_addba_req(mac_ctx, body_ptr, frame_len, - addba_req); + addba_req, false); if (DOT11F_FAILED(status)) { lim_log(mac_ctx, LOGE, @@ -1836,7 +1838,7 @@ static void lim_process_delba_req(tpAniSirGlobal mac_ctx, uint8_t *rx_pkt_info, /* Unpack DELBA request frame */ status = dot11f_unpack_delba_req(mac_ctx, body_ptr, frame_len, - delba_req); + delba_req, false); if (DOT11F_FAILED(status)) { lim_log(mac_ctx, LOGE, diff --git a/core/mac/src/pe/lim/lim_process_assoc_req_frame.c b/core/mac/src/pe/lim/lim_process_assoc_req_frame.c index 3d38b32a866f..8ad7b03d9f3f 100644 --- a/core/mac/src/pe/lim/lim_process_assoc_req_frame.c +++ b/core/mac/src/pe/lim/lim_process_assoc_req_frame.c @@ -805,7 +805,7 @@ static bool lim_chk_n_process_wpa_rsn_ie(tpAniSirGlobal mac_ctx, dot11f_unpack_ie_rsn(mac_ctx, &assoc_req->rsn.info[0], assoc_req->rsn.length, - &dot11f_ie_rsn); + &dot11f_ie_rsn, false); /* Check RSN version is supported */ if (SIR_MAC_OUI_VERSION_1 == @@ -880,7 +880,7 @@ static bool lim_chk_n_process_wpa_rsn_ie(tpAniSirGlobal mac_ctx, dot11f_unpack_ie_wpa(mac_ctx, &assoc_req->wpa.info[4], assoc_req->wpa.length, - &dot11f_ie_wpa); + &dot11f_ie_wpa, false); /* * check the groupwise and pairwise * cipher suites diff --git a/core/mac/src/pe/lim/lim_sme_req_utils.c b/core/mac/src/pe/lim/lim_sme_req_utils.c index 414132671ffb..3118282ebc2b 100644 --- a/core/mac/src/pe/lim/lim_sme_req_utils.c +++ b/core/mac/src/pe/lim/lim_sme_req_utils.c @@ -299,13 +299,13 @@ lim_set_rs_nie_wp_aiefrom_sme_start_bss_req_message(tpAniSirGlobal mac_ctx, lim_log(mac_ctx, LOG1, FL("Only RSN IE is present")); dot11f_unpack_ie_rsn(mac_ctx, &rsn_ie->rsnIEdata[2], (uint8_t) rsn_ie->length, - &session->gStartBssRSNIe); + &session->gStartBssRSNIe, false); } else if ((rsn_ie->length == rsn_ie->rsnIEdata[1] + 2) && (rsn_ie->rsnIEdata[0] == SIR_MAC_WPA_EID)) { lim_log(mac_ctx, LOG1, FL("Only WPA IE is present")); dot11f_unpack_ie_wpa(mac_ctx, &rsn_ie->rsnIEdata[6], (uint8_t) rsn_ie->length - 4, - &session->gStartBssWPAIe); + &session->gStartBssWPAIe, false); } /* Check validity of WPA IE */ if (wpa_idx + 6 >= SIR_MAC_MAX_IE_LENGTH) @@ -326,10 +326,10 @@ lim_set_rs_nie_wp_aiefrom_sme_start_bss_req_message(tpAniSirGlobal mac_ctx, /* Both RSN and WPA IEs are present */ dot11f_unpack_ie_rsn(mac_ctx, &rsn_ie->rsnIEdata[2], (uint8_t) rsn_ie->length, - &session->gStartBssRSNIe); + &session->gStartBssRSNIe, false); dot11f_unpack_ie_wpa(mac_ctx, &rsn_ie->rsnIEdata[wpa_idx + 6], rsn_ie->rsnIEdata[wpa_idx + 1] - 4, - &session->gStartBssWPAIe); + &session->gStartBssWPAIe, false); } return true; } diff --git a/core/mac/src/pe/lim/lim_utils.c b/core/mac/src/pe/lim/lim_utils.c index 7016d98c239e..82c5ec3096f6 100644 --- a/core/mac/src/pe/lim/lim_utils.c +++ b/core/mac/src/pe/lim/lim_utils.c @@ -6815,7 +6815,7 @@ tSirRetStatus lim_strip_supp_op_class_update_struct(tpAniSirGlobal mac_ctx, /* update the extracted supp op class to struct*/ if (DOT11F_PARSE_SUCCESS != dot11f_unpack_ie_supp_operating_classes( - mac_ctx, &extracted_buff[2], extracted_buff[1], dst)) { + mac_ctx, &extracted_buff[2], extracted_buff[1], dst, false)) { lim_log(mac_ctx, LOGE, FL("dot11f_unpack Parse Error ")); return eSIR_FAILURE; } @@ -6859,7 +6859,7 @@ void lim_update_extcap_struct(tpAniSirGlobal mac_ctx, qdf_mem_copy(&out[0], &buf[2], buf[1]); if (DOT11F_PARSE_SUCCESS != dot11f_unpack_ie_ext_cap(mac_ctx, &out[0], - buf[1], dst)) + buf[1], dst, false)) lim_log(mac_ctx, LOGE, FL("dot11f_unpack Parse Error ")); } diff --git a/core/mac/src/sys/legacy/src/utils/src/parser_api.c b/core/mac/src/sys/legacy/src/utils/src/parser_api.c index 6d83b63a69eb..51efe85ca3b6 100644 --- a/core/mac/src/sys/legacy/src/utils/src/parser_api.c +++ b/core/mac/src/sys/legacy/src/utils/src/parser_api.c @@ -1545,7 +1545,7 @@ populate_dot11f_rsn(tpAniSirGlobal pMac, if (0 <= idx) { status = dot11f_unpack_ie_rsn(pMac, pRsnIe->rsnIEdata + idx + 2, /* EID, length */ pRsnIe->rsnIEdata[idx + 1], - pDot11f); + pDot11f, false); if (DOT11F_FAILED(status)) { pe_err("Parse failure in Populate Dot11fRSN (0x%08x)", status); @@ -1594,7 +1594,7 @@ populate_dot11f_wapi(tpAniSirGlobal pMac, if (0 <= idx) { status = dot11f_unpack_ie_wapi(pMac, pRsnIe->rsnIEdata + idx + 2, /* EID, length */ pRsnIe->rsnIEdata[idx + 1], - pDot11f); + pDot11f, false); if (DOT11F_FAILED(status)) { pe_err("Parse failure in populate_dot11f_wapi (0x%08x)", status); @@ -2124,7 +2124,7 @@ populate_dot11f_wpa(tpAniSirGlobal pMac, if (0 <= idx) { status = dot11f_unpack_ie_wpa(pMac, pRsnIe->rsnIEdata + idx + 2 + 4, /* EID, length, OUI */ pRsnIe->rsnIEdata[idx + 1] - 4, /* OUI */ - pDot11f); + pDot11f, false); if (DOT11F_FAILED(status)) { pe_err("Parse failure in Populate Dot11fWPA (0x%08x)", status); @@ -2170,7 +2170,7 @@ sir_convert_probe_req_frame2_struct(tpAniSirGlobal pMac, qdf_mem_set((uint8_t *) pProbeReq, sizeof(tSirProbeReq), 0); /* delegate to the framesc-generated code, */ - status = dot11f_unpack_probe_request(pMac, pFrame, nFrame, &pr); + status = dot11f_unpack_probe_request(pMac, pFrame, nFrame, &pr, false); if (DOT11F_FAILED(status)) { lim_log(pMac, LOGE, FL("Failed to parse a Probe Request (0x%08x, %d bytes):"), @@ -2320,7 +2320,7 @@ tSirRetStatus sir_convert_probe_frame2_struct(tpAniSirGlobal pMac, } /* delegate to the framesc-generated code, */ - status = dot11f_unpack_probe_response(pMac, pFrame, nFrame, pr); + status = dot11f_unpack_probe_response(pMac, pFrame, nFrame, pr, false); if (DOT11F_FAILED(status)) { lim_log(pMac, LOGE, FL("Failed to parse a Probe Response (0x%08x, %d bytes):"), @@ -2636,7 +2636,7 @@ sir_convert_assoc_req_frame2_struct(tpAniSirGlobal pMac, qdf_mem_set((uint8_t *) pAssocReq, sizeof(tSirAssocReq), 0); /* delegate to the framesc-generated code, */ - status = dot11f_unpack_assoc_request(pMac, pFrame, nFrame, ar); + status = dot11f_unpack_assoc_request(pMac, pFrame, nFrame, ar, false); if (DOT11F_FAILED(status)) { lim_log(pMac, LOGE, FL("Failed to parse an Association Request (0x%08x, %d bytes):"), @@ -2844,7 +2844,7 @@ sir_convert_assoc_resp_frame2_struct(tpAniSirGlobal pMac, qdf_mem_set((uint8_t *) pAssocRsp, sizeof(tSirAssocRsp), 0); /* delegate to the framesc-generated code, */ - status = dot11f_unpack_assoc_response(pMac, pFrame, nFrame, &ar); + status = dot11f_unpack_assoc_response(pMac, pFrame, nFrame, &ar, false); if (DOT11F_FAILED(status)) { lim_log(pMac, LOGE, FL("Failed to parse an Association Response (0x%08x, %d bytes):"), @@ -3077,7 +3077,8 @@ sir_convert_reassoc_req_frame2_struct(tpAniSirGlobal pMac, qdf_mem_set((uint8_t *) pAssocReq, sizeof(tSirAssocReq), 0); /* delegate to the framesc-generated code, */ - status = dot11f_unpack_re_assoc_request(pMac, pFrame, nFrame, &ar); + status = dot11f_unpack_re_assoc_request(pMac, pFrame, nFrame, + &ar, false); if (DOT11F_FAILED(status)) { lim_log(pMac, LOGE, FL("Failed to parse a Re-association Request (0x%08x, %d bytes):"), @@ -3269,7 +3270,8 @@ sir_beacon_ie_ese_bcn_report(tpAniSirGlobal pMac, } qdf_mem_zero(pBies, sizeof(tDot11fBeaconIEs)); /* delegate to the framesc-generated code, */ - status = dot11f_unpack_beacon_i_es(pMac, pPayload, nPayload, pBies); + status = dot11f_unpack_beacon_i_es(pMac, pPayload, nPayload, + pBies, false); if (DOT11F_FAILED(status)) { lim_log(pMac, LOGE, @@ -3563,7 +3565,8 @@ sir_parse_beacon_ie(tpAniSirGlobal pMac, } qdf_mem_zero(pBies, sizeof(tDot11fBeaconIEs)); /* delegate to the framesc-generated code, */ - status = dot11f_unpack_beacon_i_es(pMac, pPayload, nPayload, pBies); + status = dot11f_unpack_beacon_i_es(pMac, pPayload, nPayload, + pBies, false); if (DOT11F_FAILED(status)) { lim_log(pMac, LOGE, @@ -3878,7 +3881,7 @@ sir_convert_beacon_frame2_struct(tpAniSirGlobal pMac, qdf_mem_copy(pBeaconStruct->bssid, pHdr->sa, 6); /* delegate to the framesc-generated code, */ - status = dot11f_unpack_beacon(pMac, pPayload, nPayload, pBeacon); + status = dot11f_unpack_beacon(pMac, pPayload, nPayload, pBeacon, false); if (DOT11F_FAILED(status)) { lim_log(pMac, LOGE, FL("Failed to parse Beacon IEs (0x%08x, %d bytes):"), @@ -4249,7 +4252,8 @@ sir_convert_auth_frame2_struct(tpAniSirGlobal pMac, qdf_mem_set((uint8_t *) pAuth, sizeof(tSirMacAuthFrameBody), 0); /* delegate to the framesc-generated code, */ - status = dot11f_unpack_authentication(pMac, pFrame, nFrame, &auth); + status = dot11f_unpack_authentication(pMac, pFrame, nFrame, + &auth, false); if (DOT11F_FAILED(status)) { lim_log(pMac, LOGE, FL("Failed to parse an Authentication frame (0x%08x, %d bytes):"), @@ -4304,12 +4308,13 @@ sir_convert_addts_req2_struct(tpAniSirGlobal pMac, /* delegate to the framesc-generated code, */ switch (*pFrame) { case SIR_MAC_ACTION_QOS_MGMT: - status = dot11f_unpack_add_ts_request(pMac, pFrame, nFrame, &addts); + status = dot11f_unpack_add_ts_request(pMac, pFrame, nFrame, + &addts, false); break; case SIR_MAC_ACTION_WME: status = dot11f_unpack_wmm_add_ts_request(pMac, pFrame, nFrame, - &wmmaddts); + &wmmaddts, false); break; default: lim_log(pMac, LOGE, FL("sir_convert_addts_req2_struct invoked " @@ -4443,12 +4448,13 @@ sir_convert_addts_rsp2_struct(tpAniSirGlobal pMac, switch (*pFrame) { case SIR_MAC_ACTION_QOS_MGMT: status = - dot11f_unpack_add_ts_response(pMac, pFrame, nFrame, &addts); + dot11f_unpack_add_ts_response(pMac, pFrame, nFrame, + &addts, false); break; case SIR_MAC_ACTION_WME: status = dot11f_unpack_wmm_add_ts_response(pMac, pFrame, nFrame, - &wmmaddts); + &wmmaddts, false); break; default: lim_log(pMac, LOGE, FL("sir_convert_addts_rsp2_struct invoked " @@ -4618,10 +4624,12 @@ sir_convert_delts_req2_struct(tpAniSirGlobal pMac, /* delegate to the framesc-generated code, */ switch (*pFrame) { case SIR_MAC_ACTION_QOS_MGMT: - status = dot11f_unpack_del_ts(pMac, pFrame, nFrame, &delts); + status = dot11f_unpack_del_ts(pMac, pFrame, nFrame, + &delts, false); break; case SIR_MAC_ACTION_WME: - status = dot11f_unpack_wmm_del_ts(pMac, pFrame, nFrame, &wmmdelts); + status = dot11f_unpack_wmm_del_ts(pMac, pFrame, nFrame, + &wmmdelts, false); break; default: lim_log(pMac, LOGE, FL("sirConvertDeltsRsp2Struct invoked " @@ -4688,7 +4696,8 @@ sir_convert_qos_map_configure_frame2_struct(tpAniSirGlobal pMac, tDot11fQosMapConfigure mapConfigure; uint32_t status; status = - dot11f_unpack_qos_map_configure(pMac, pFrame, nFrame, &mapConfigure); + dot11f_unpack_qos_map_configure(pMac, pFrame, nFrame, + &mapConfigure, false); if (DOT11F_FAILED(status) || !mapConfigure.QosMapSet.present) { pe_err("Failed to parse Qos Map Configure frame (0x%08x, %d bytes):", status, nFrame); @@ -4718,7 +4727,7 @@ sir_convert_tpc_req_frame2_struct(tpAniSirGlobal pMac, uint32_t status; qdf_mem_set((uint8_t *) pTpcReqFrame, sizeof(tSirMacTpcReqActionFrame), 0); - status = dot11f_unpack_tpc_request(pMac, pFrame, nFrame, &req); + status = dot11f_unpack_tpc_request(pMac, pFrame, nFrame, &req, false); if (DOT11F_FAILED(status)) { pe_err("Failed to parse a TPC Request frame (0x%08x, %d bytes):", status, nFrame); @@ -4759,7 +4768,8 @@ sir_convert_meas_req_frame2_struct(tpAniSirGlobal pMac, sizeof(tpSirMacMeasReqActionFrame), 0); /* delegate to the framesc-generated code, */ - status = dot11f_unpack_measurement_request(pMac, pFrame, nFrame, &mr); + status = dot11f_unpack_measurement_request(pMac, pFrame, + nFrame, &mr, false); if (DOT11F_FAILED(status)) { pe_err("Failed to parse a Measurement Request frame (0x%08x, %d bytes):", status, nFrame); @@ -5632,7 +5642,7 @@ tSirRetStatus populate_dot11f_assoc_res_wsc_ie(tpAniSirGlobal pMac, /* retreive WSC IE from given AssocReq */ dot11f_unpack_ie_wsc_assoc_req(pMac, wscIe + 2 + 4, /* EID, length, OUI */ wscIe[1] - 4, /* length without OUI */ - &parsedWscAssocReq); + &parsedWscAssocReq, false); pDot11f->present = 1; /* version has to be 0x10 */ pDot11f->Version.present = 1; diff --git a/core/sme/src/csr/csr_roam_preauth.c b/core/sme/src/csr/csr_roam_preauth.c index 21366ba14894..95b227d000fb 100644 --- a/core/sme/src/csr/csr_roam_preauth.c +++ b/core/sme/src/csr/csr_roam_preauth.c @@ -651,7 +651,7 @@ void csr_roam_ft_pre_auth_rsp_processor(tHalHandle hal, status = dot11f_unpack_authentication(mac_ctx, preauth_rsp->ft_ies, - preauth_rsp->ft_ies_length, p_auth); + preauth_rsp->ft_ies_length, p_auth, false); if (DOT11F_FAILED(status)) sme_err("Failed to parse an Authentication frame"); else if (p_auth->MobilityDomain.present) diff --git a/core/sme/src/csr/csr_util.c b/core/sme/src/csr/csr_util.c index 7e784e4740a1..555e0729f720 100644 --- a/core/sme/src/csr/csr_util.c +++ b/core/sme/src/csr/csr_util.c @@ -1703,10 +1703,9 @@ QDF_STATUS csr_parse_bss_description_ies(tHalHandle hHal, GET_FIELD_OFFSET(tSirBssDescription, ieFields)); if (ieLen > 0 && pIEStruct) { - if (!DOT11F_FAILED - (dot11f_unpack_beacon_i_es - (pMac, (uint8_t *) pBssDesc->ieFields, ieLen, - pIEStruct))) { + if (!DOT11F_FAILED(dot11f_unpack_beacon_i_es + (pMac, (uint8_t *) pBssDesc->ieFields, + ieLen, pIEStruct, false))) { status = QDF_STATUS_SUCCESS; } }