|
@@ -111,9 +111,11 @@ sch_append_addn_ie(struct mac_context *mac_ctx, struct pe_session *session,
|
|
|
|
|
|
valid_ie = (addn_ielen <= WNI_CFG_PROBE_RSP_BCN_ADDNIE_DATA_LEN &&
|
|
|
addn_ielen && (addn_ielen <= bcn_size_left));
|
|
|
-
|
|
|
- if (!valid_ie)
|
|
|
+ if (!valid_ie) {
|
|
|
+ pe_err("addn_ielen %d exceed left %d",
|
|
|
+ addn_ielen, bcn_size_left);
|
|
|
return status;
|
|
|
+ }
|
|
|
|
|
|
qdf_mem_zero(&ext_p2p_ie[0], DOT11F_IE_P2PBEACON_MAX_LEN + 2);
|
|
|
/*
|
|
@@ -486,6 +488,7 @@ sch_set_fixed_beacon_fields(struct mac_context *mac_ctx, struct pe_session *sess
|
|
|
if (session->limSystemRole != eLIM_STA_IN_IBSS_ROLE)
|
|
|
populate_dot11f_ext_cap(mac_ctx, is_vht_enabled, &bcn_2->ExtCap,
|
|
|
session);
|
|
|
+
|
|
|
populate_dot11f_ext_supp_rates(mac_ctx,
|
|
|
POPULATE_DOT11F_RATES_OPERATIONAL,
|
|
|
&bcn_2->ExtSuppRates, session);
|
|
@@ -501,6 +504,7 @@ sch_set_fixed_beacon_fields(struct mac_context *mac_ctx, struct pe_session *sess
|
|
|
if (session->limWmeEnabled)
|
|
|
populate_dot11f_wmm(mac_ctx, &bcn_2->WMMInfoAp,
|
|
|
&bcn_2->WMMParams, &bcn_2->WMMCaps, session);
|
|
|
+
|
|
|
if (LIM_IS_AP_ROLE(session)) {
|
|
|
if (session->wps_state != SAP_WPS_DISABLED) {
|
|
|
populate_dot11f_beacon_wpsi_es(mac_ctx,
|
|
@@ -555,11 +559,16 @@ sch_set_fixed_beacon_fields(struct mac_context *mac_ctx, struct pe_session *sess
|
|
|
sizeof(tDot11fIEWscProbeRes));
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
}
|
|
|
|
|
|
addnie_present = (session->add_ie_params.probeRespBCNDataLen != 0);
|
|
|
if (addnie_present) {
|
|
|
+ /*
|
|
|
+ * Strip HE cap/op from additional IE buffer if any, as they
|
|
|
+ * should be populated already.
|
|
|
+ */
|
|
|
+ lim_strip_he_ies_from_add_ies(mac_ctx, session);
|
|
|
+
|
|
|
addn_ielen = session->add_ie_params.probeRespBCNDataLen;
|
|
|
addn_ie = qdf_mem_malloc(addn_ielen);
|
|
|
if (!addn_ie) {
|
|
@@ -586,7 +595,6 @@ sch_set_fixed_beacon_fields(struct mac_context *mac_ctx, struct pe_session *sess
|
|
|
lim_merge_extcap_struct(&bcn_2->ExtCap,
|
|
|
&extracted_extcap,
|
|
|
true);
|
|
|
-
|
|
|
}
|
|
|
|
|
|
if (session->vhtCapability && session->gLimOperatingMode.present) {
|