Lines Matching refs:elems
1365 struct ieee802_11_elems *elems, in ieee80211_sta_process_chanswitch() argument
1389 res = ieee80211_parse_ch_switch_ie(sdata, elems, current_band, in ieee80211_sta_process_chanswitch()
2899 struct ieee802_11_elems elems; in ieee80211_auth_challenge() local
2903 ieee802_11_parse_elems(pos, len - (pos - (u8 *)mgmt), false, &elems, in ieee80211_auth_challenge()
2905 if (!elems.challenge) in ieee80211_auth_challenge()
2913 elems.challenge - 2, elems.challenge_len + 2, in ieee80211_auth_challenge()
3236 const struct ieee802_11_elems *elems) in ieee80211_twt_req_supported() argument
3238 if (elems->ext_capab_len < 10) in ieee80211_twt_req_supported()
3241 if (!(elems->ext_capab[9] & WLAN_EXT_CAPA10_TWT_RESPONDER_SUPPORT)) in ieee80211_twt_req_supported()
3250 struct ieee802_11_elems *elems) in ieee80211_recalc_twt_req() argument
3252 bool twt = ieee80211_twt_req_supported(sta, elems); in ieee80211_recalc_twt_req()
3264 struct ieee802_11_elems *elems) in ieee80211_assoc_success() argument
3290 ieee802_11_parse_elems(pos, len - (pos - (u8 *)mgmt), false, elems, in ieee80211_assoc_success()
3293 if (elems->aid_resp) in ieee80211_assoc_success()
3294 aid = le16_to_cpu(elems->aid_resp->aid); in ieee80211_assoc_success()
3311 if (!is_s1g && !elems->supp_rates) { in ieee80211_assoc_success()
3318 elems->ext_capab && elems->ext_capab_len >= 5 && in ieee80211_assoc_success()
3319 (elems->ext_capab[4] & WLAN_EXT_CAPA5_TDLS_CH_SW_PROHIBITED); in ieee80211_assoc_success()
3329 ((assoc_data->wmm && !elems->wmm_param) || in ieee80211_assoc_success()
3331 (!elems->ht_cap_elem || !elems->ht_operation)) || in ieee80211_assoc_success()
3333 (!elems->vht_cap_elem || !elems->vht_operation)))) { in ieee80211_assoc_success()
3351 !elems->wmm_param && bss_elems.wmm_param) { in ieee80211_assoc_success()
3352 elems->wmm_param = bss_elems.wmm_param; in ieee80211_assoc_success()
3361 if (!elems->ht_cap_elem && bss_elems.ht_cap_elem && in ieee80211_assoc_success()
3363 elems->ht_cap_elem = bss_elems.ht_cap_elem; in ieee80211_assoc_success()
3367 if (!elems->ht_operation && bss_elems.ht_operation && in ieee80211_assoc_success()
3369 elems->ht_operation = bss_elems.ht_operation; in ieee80211_assoc_success()
3373 if (!elems->vht_cap_elem && bss_elems.vht_cap_elem && in ieee80211_assoc_success()
3375 elems->vht_cap_elem = bss_elems.vht_cap_elem; in ieee80211_assoc_success()
3379 if (!elems->vht_operation && bss_elems.vht_operation && in ieee80211_assoc_success()
3381 elems->vht_operation = bss_elems.vht_operation; in ieee80211_assoc_success()
3392 (!elems->wmm_param || !elems->ht_cap_elem || !elems->ht_operation)) { in ieee80211_assoc_success()
3400 (!elems->vht_cap_elem || !elems->vht_operation)) { in ieee80211_assoc_success()
3408 !elems->he_6ghz_capa) { in ieee80211_assoc_success()
3435 (!elems->he_cap || !elems->he_operation)) { in ieee80211_assoc_success()
3444 if (elems->ht_cap_elem && !(ifmgd->flags & IEEE80211_STA_DISABLE_HT)) in ieee80211_assoc_success()
3446 elems->ht_cap_elem, sta); in ieee80211_assoc_success()
3448 if (elems->vht_cap_elem && !(ifmgd->flags & IEEE80211_STA_DISABLE_VHT)) in ieee80211_assoc_success()
3450 elems->vht_cap_elem, sta); in ieee80211_assoc_success()
3452 if (elems->he_operation && !(ifmgd->flags & IEEE80211_STA_DISABLE_HE) && in ieee80211_assoc_success()
3453 elems->he_cap) { in ieee80211_assoc_success()
3455 elems->he_cap, in ieee80211_assoc_success()
3456 elems->he_cap_len, in ieee80211_assoc_success()
3457 elems->he_6ghz_capa, in ieee80211_assoc_success()
3461 if (elems->rsnx && elems->rsnx_len && in ieee80211_assoc_success()
3462 (elems->rsnx[0] & WLAN_RSNX_CAPA_PROTECTED_TWT) && in ieee80211_assoc_success()
3469 changed |= ieee80211_recalc_twt_req(sdata, sta, elems); in ieee80211_assoc_success()
3478 le32_get_bits(elems->he_operation->he_oper_params, in ieee80211_assoc_success()
3481 le32_get_bits(elems->he_operation->he_oper_params, in ieee80211_assoc_success()
3484 !le32_get_bits(elems->he_operation->he_oper_params, in ieee80211_assoc_success()
3491 le32_get_bits(elems->he_operation->he_oper_params, in ieee80211_assoc_success()
3494 le32_get_bits(elems->he_operation->he_oper_params, in ieee80211_assoc_success()
3505 bss_conf->uora_exists = !!elems->uora_element; in ieee80211_assoc_success()
3506 if (elems->uora_element) in ieee80211_assoc_success()
3507 bss_conf->uora_ocw_range = elems->uora_element[0]; in ieee80211_assoc_success()
3509 ieee80211_he_op_ie_to_bss_conf(&sdata->vif, elems->he_operation); in ieee80211_assoc_success()
3510 ieee80211_he_spr_ie_to_bss_conf(&sdata->vif, elems->he_spr); in ieee80211_assoc_success()
3534 if (elems->opmode_notif && in ieee80211_assoc_success()
3535 !(*elems->opmode_notif & IEEE80211_OPMODE_NOTIF_RX_NSS_TYPE_BF)) { in ieee80211_assoc_success()
3538 nss = *elems->opmode_notif & IEEE80211_OPMODE_NOTIF_RX_NSS_MASK; in ieee80211_assoc_success()
3553 sta->sta.wme = (elems->wmm_param || elems->s1g_capab) && in ieee80211_assoc_success()
3585 } else if (!ieee80211_sta_wmm_params(local, sdata, elems->wmm_param, in ieee80211_assoc_success()
3586 elems->wmm_param_len, in ieee80211_assoc_success()
3587 elems->mu_edca_param_set)) { in ieee80211_assoc_success()
3601 if (elems->max_idle_period_ie) { in ieee80211_assoc_success()
3603 le16_to_cpu(elems->max_idle_period_ie->max_idle_period); in ieee80211_assoc_success()
3605 !!(elems->max_idle_period_ie->idle_options & in ieee80211_assoc_success()
3645 struct ieee802_11_elems elems; in ieee80211_rx_mgmt_assoc_resp() local
3692 ieee802_11_parse_elems(pos, len - (pos - (u8 *)mgmt), false, &elems, in ieee80211_rx_mgmt_assoc_resp()
3696 elems.timeout_int && in ieee80211_rx_mgmt_assoc_resp()
3697 elems.timeout_int->type == WLAN_TIMEOUT_ASSOC_COMEBACK) { in ieee80211_rx_mgmt_assoc_resp()
3699 tu = le32_to_cpu(elems.timeout_int->value); in ieee80211_rx_mgmt_assoc_resp()
3719 if (!ieee80211_assoc_success(sdata, cbss, mgmt, len, &elems)) { in ieee80211_rx_mgmt_assoc_resp()
3949 struct ieee802_11_elems elems; in ieee80211_rx_mgmt_beacon() local
3996 len - baselen, false, &elems, in ieee80211_rx_mgmt_beacon()
4002 if (elems.dtim_period) in ieee80211_rx_mgmt_beacon()
4003 ifmgd->dtim_period = elems.dtim_period; in ieee80211_rx_mgmt_beacon()
4011 sdata->vif.bss_conf.sync_dtim_count = elems.dtim_count; in ieee80211_rx_mgmt_beacon()
4014 if (elems.mbssid_config_ie) in ieee80211_rx_mgmt_beacon()
4016 elems.mbssid_config_ie->profile_periodicity; in ieee80211_rx_mgmt_beacon()
4018 if (elems.ext_capab_len >= 11 && in ieee80211_rx_mgmt_beacon()
4019 (elems.ext_capab[10] & WLAN_EXT_CAPA11_EMA_SUPPORT)) in ieee80211_rx_mgmt_beacon()
4058 len - baselen, false, &elems, in ieee80211_rx_mgmt_beacon()
4063 ieee80211_check_tim(elems.tim, elems.tim_len, bss_conf->aid)) { in ieee80211_rx_mgmt_beacon()
4133 sdata->vif.bss_conf.sync_dtim_count = elems.dtim_count; in ieee80211_rx_mgmt_beacon()
4146 &elems, true); in ieee80211_rx_mgmt_beacon()
4149 ieee80211_sta_wmm_params(local, sdata, elems.wmm_param, in ieee80211_rx_mgmt_beacon()
4150 elems.wmm_param_len, in ieee80211_rx_mgmt_beacon()
4151 elems.mu_edca_param_set)) in ieee80211_rx_mgmt_beacon()
4160 bss_conf->dtim_period = elems.dtim_period ?: 1; in ieee80211_rx_mgmt_beacon()
4172 if (elems.erp_info) { in ieee80211_rx_mgmt_beacon()
4174 erp_value = elems.erp_info[0]; in ieee80211_rx_mgmt_beacon()
4187 changed |= ieee80211_recalc_twt_req(sdata, sta, &elems); in ieee80211_rx_mgmt_beacon()
4189 if (ieee80211_config_bw(sdata, sta, elems.ht_cap_elem, in ieee80211_rx_mgmt_beacon()
4190 elems.vht_cap_elem, elems.ht_operation, in ieee80211_rx_mgmt_beacon()
4191 elems.vht_operation, elems.he_operation, in ieee80211_rx_mgmt_beacon()
4192 elems.s1g_oper, bssid, &changed)) { in ieee80211_rx_mgmt_beacon()
4206 if (sta && elems.opmode_notif) in ieee80211_rx_mgmt_beacon()
4207 ieee80211_vht_handle_opmode(sdata, sta, *elems.opmode_notif, in ieee80211_rx_mgmt_beacon()
4212 elems.country_elem, in ieee80211_rx_mgmt_beacon()
4213 elems.country_elem_len, in ieee80211_rx_mgmt_beacon()
4214 elems.pwr_constr_elem, in ieee80211_rx_mgmt_beacon()
4215 elems.cisco_dtpc_elem); in ieee80211_rx_mgmt_beacon()
4246 struct ieee802_11_elems elems; in ieee80211_sta_rx_queued_mgmt() local
4288 ies_len, true, &elems, mgmt->bssid, NULL); in ieee80211_sta_rx_queued_mgmt()
4290 if (elems.parse_error) in ieee80211_sta_rx_queued_mgmt()
4296 &elems, false); in ieee80211_sta_rx_queued_mgmt()
4311 ies_len, true, &elems, mgmt->bssid, NULL); in ieee80211_sta_rx_queued_mgmt()
4313 if (elems.parse_error) in ieee80211_sta_rx_queued_mgmt()
4317 elems.ext_chansw_ie = in ieee80211_sta_rx_queued_mgmt()
4323 &elems, false); in ieee80211_sta_rx_queued_mgmt()