Lines Matching refs:elems

898 					    const u8 *elems,
935 noffset = ieee80211_ie_split_ric(elems, elems_len,
941 skb_put_data(skb, elems + offset, noffset - offset);
947 const u8 *elems,
969 noffset = ieee80211_ie_split(elems, elems_len,
972 skb_put_data(skb, elems + offset, noffset - offset);
978 const u8 *elems,
1003 noffset = ieee80211_ie_split(elems, elems_len,
1006 skb_put_data(skb, elems + offset, noffset - offset);
1179 * careful - need to know about all the present elems before
1332 extra_elems = assoc_data->link[link_id].elems;
1840 struct ieee802_11_elems *elems,
1863 res = ieee80211_parse_ch_switch_ie(sdata, elems, current_band,
3948 const struct ieee802_11_elems *elems)
3953 if (elems->ext_capab_len < 10)
3956 if (!(elems->ext_capab[9] & WLAN_EXT_CAPA10_TWT_RESPONDER_SUPPORT))
3970 struct ieee802_11_elems *elems)
3972 bool twt = ieee80211_twt_req_supported(sdata, sband, link_sta, elems);
4020 struct ieee802_11_elems *elems;
4026 elems = ieee802_11_parse_elems_full(&parse_params);
4027 if (!elems)
4038 if (elems->ml_basic) {
4039 if (!(elems->ml_basic->control &
4045 ieee80211_mle_get_bss_param_ch_cnt(elems->ml_basic);
4047 } else if (!elems->prof ||
4048 !(elems->prof->control & prof_bss_param_ch_present)) {
4052 const u8 *ptr = elems->prof->variable +
4053 elems->prof->sta_info_len - 1;
4057 * otherwise elems->prof would have been set to NULL.
4062 ieee80211_mle_basic_sta_prof_bss_param_ch_cnt(elems->prof);
4072 if (!is_s1g && !elems->supp_rates) {
4079 elems->ext_capab && elems->ext_capab_len >= 5 &&
4080 (elems->ext_capab[4] & WLAN_EXT_CAPA5_TDLS_CH_SW_PROHIBITED);
4090 ((assoc_data->wmm && !elems->wmm_param) ||
4092 (!elems->ht_cap_elem || !elems->ht_operation)) ||
4094 (!elems->vht_cap_elem || !elems->vht_operation)))) {
4119 !elems->wmm_param && bss_elems->wmm_param) {
4120 elems->wmm_param = bss_elems->wmm_param;
4129 if (!elems->ht_cap_elem && bss_elems->ht_cap_elem &&
4131 elems->ht_cap_elem = bss_elems->ht_cap_elem;
4135 if (!elems->ht_operation && bss_elems->ht_operation &&
4137 elems->ht_operation = bss_elems->ht_operation;
4141 if (!elems->vht_cap_elem && bss_elems->vht_cap_elem &&
4143 elems->vht_cap_elem = bss_elems->vht_cap_elem;
4147 if (!elems->vht_operation && bss_elems->vht_operation &&
4149 elems->vht_operation = bss_elems->vht_operation;
4162 (!elems->wmm_param || !elems->ht_cap_elem || !elems->ht_operation)) {
4170 (!elems->vht_cap_elem || !elems->vht_operation)) {
4178 !elems->he_6ghz_capa) {
4192 (!elems->he_cap || !elems->he_operation)) {
4200 if (elems->ht_cap_elem && !(link->u.mgd.conn_flags & IEEE80211_CONN_DISABLE_HT))
4202 elems->ht_cap_elem,
4205 if (elems->vht_cap_elem &&
4228 elems->vht_cap_elem,
4233 if (elems->he_operation && !(link->u.mgd.conn_flags & IEEE80211_CONN_DISABLE_HE) &&
4234 elems->he_cap) {
4236 elems->he_cap,
4237 elems->he_cap_len,
4238 elems->he_6ghz_capa,
4242 if (elems->rsnx && elems->rsnx_len &&
4243 (elems->rsnx[0] & WLAN_RSNX_CAPA_PROTECTED_TWT) &&
4251 link_sta, elems);
4253 if (elems->eht_operation && elems->eht_cap &&
4256 elems->he_cap,
4257 elems->he_cap_len,
4258 elems->eht_cap,
4259 elems->eht_cap_len,
4279 le32_get_bits(elems->he_operation->he_oper_params,
4282 le32_get_bits(elems->he_operation->he_oper_params,
4285 !le32_get_bits(elems->he_operation->he_oper_params,
4292 le32_get_bits(elems->he_operation->he_oper_params,
4295 le32_get_bits(elems->he_operation->he_oper_params,
4298 bss_conf->uora_exists = !!elems->uora_element;
4299 if (elems->uora_element)
4300 bss_conf->uora_ocw_range = elems->uora_element[0];
4302 ieee80211_he_op_ie_to_bss_conf(&sdata->vif, elems->he_operation);
4303 ieee80211_he_spr_ie_to_bss_conf(&sdata->vif, elems->he_spr);
4327 if (elems->opmode_notif &&
4328 !(*elems->opmode_notif & IEEE80211_OPMODE_NOTIF_RX_NSS_TYPE_BF)) {
4331 nss = *elems->opmode_notif & IEEE80211_OPMODE_NOTIF_RX_NSS_MASK;
4348 } else if (!ieee80211_sta_wmm_params(local, link, elems->wmm_param,
4349 elems->wmm_param_len,
4350 elems->mu_edca_param_set)) {
4363 if (elems->max_idle_period_ie) {
4365 le16_to_cpu(elems->max_idle_period_ie->max_idle_period);
4367 !!(elems->max_idle_period_ie->idle_options &
4381 kfree(elems);
4838 struct ieee802_11_elems *elems;
4849 elems = ieee802_11_parse_elems_full(&parse_params);
4850 if (!elems) {
4889 ht_oper = elems->ht_operation;
4890 ht_cap = elems->ht_cap_elem;
4899 vht_oper = elems->vht_operation;
4910 if (!elems->vht_cap_elem) {
4917 he_oper = elems->he_operation;
4925 if (elems->pwr_constr_elem)
4926 bss_conf->pwr_reduction = *elems->pwr_constr_elem;
4929 ARRAY_SIZE(elems->tx_pwr_env));
4931 for (i = 0; i < elems->tx_pwr_env_num; i++) {
4932 if (elems->tx_pwr_env_len[i] >
4937 memcpy(&bss_conf->tx_pwr_env[j], elems->tx_pwr_env[i],
4938 elems->tx_pwr_env_len[i]);
5008 s1g_oper = elems->s1g_oper;
5031 kfree(elems);
5032 elems = NULL;
5106 struct ieee802_11_elems *elems,
5234 ieee80211_sta_set_max_amsdu_subframes(sta, elems->ext_capab,
5235 elems->ext_capab_len);
5237 sta->sta.wme = (elems->wmm_param || elems->s1g_capab) &&
5291 struct ieee802_11_elems *elems;
5348 elems = ieee802_11_parse_elems_full(&parse_params);
5349 if (!elems)
5352 if (elems->aid_resp)
5353 aid = le16_to_cpu(elems->aid_resp->aid);
5373 elems->timeout_int &&
5374 elems->timeout_int->type == WLAN_TIMEOUT_ASSOC_COMEBACK) {
5378 le32_to_cpu(elems->timeout_int->value));
5380 tu = le32_to_cpu(elems->timeout_int->value);
5408 if (!elems->ml_basic) {
5415 if (le16_get_bits(elems->ml_basic->control,
5420 le16_to_cpu(elems->ml_basic->control));
5425 common = (void *)elems->ml_basic->variable;
5440 if (!ieee80211_assoc_success(sdata, mgmt, elems,
5492 kfree(elems);
5804 struct ieee802_11_elems *elems)
5814 if (!ieee80211_vif_is_mld(&sdata->vif) || !elems->ml_reconf)
5817 ml_len = cfg80211_defragment_element(elems->ml_reconf_elem,
5818 elems->ie_start,
5819 elems->total_len,
5820 elems->scratch_pos,
5821 elems->scratch + elems->scratch_len -
5822 elems->scratch_pos,
5827 elems->ml_reconf = (const void *)elems->scratch_pos;
5828 elems->ml_reconf_len = ml_len;
5829 ml = elems->ml_reconf;
5912 struct ieee802_11_elems *elems;
5969 elems = ieee802_11_parse_elems_full(&parse_params);
5970 if (!elems)
5975 if (elems->dtim_period)
5976 link->u.mgd.dtim_period = elems->dtim_period;
5984 link->conf->sync_dtim_count = elems->dtim_count;
5987 if (elems->mbssid_config_ie)
5989 elems->mbssid_config_ie->profile_periodicity;
5993 if (elems->ext_capab_len >= 11 &&
5994 (elems->ext_capab[10] & WLAN_EXT_CAPA11_EMA_SUPPORT))
6003 kfree(elems);
6038 elems = ieee802_11_parse_elems_full(&parse_params);
6039 if (!elems)
6041 ncrc = elems->crc;
6044 ieee80211_check_tim(elems->tim, elems->tim_len, vif_cfg->aid)) {
6114 link->conf->sync_dtim_count = elems->dtim_count;
6127 elems, true);
6130 ieee80211_sta_wmm_params(local, link, elems->wmm_param,
6131 elems->wmm_param_len,
6132 elems->mu_edca_param_set))
6141 bss_conf->dtim_period = elems->dtim_period ?: 1;
6153 if (elems->erp_info) {
6155 erp_value = elems->erp_info[0];
6183 changed |= ieee80211_recalc_twt_req(sdata, sband, link, link_sta, elems);
6185 if (ieee80211_config_bw(link, elems->ht_cap_elem,
6186 elems->vht_cap_elem, elems->ht_operation,
6187 elems->vht_operation, elems->he_operation,
6188 elems->eht_operation,
6189 elems->s1g_oper, bssid, &changed)) {
6204 if (elems->opmode_notif)
6206 *elems->opmode_notif,
6211 elems->country_elem,
6212 elems->country_elem_len,
6213 elems->pwr_constr_elem,
6214 elems->cisco_dtpc_elem);
6216 if (elems->eht_operation &&
6218 if (!ieee80211_config_puncturing(link, elems->eht_operation,
6231 ieee80211_ml_reconfiguration(sdata, elems);
6235 kfree(elems);
6308 struct ieee802_11_elems *elems;
6318 elems = ieee802_11_parse_elems(
6322 if (elems && !elems->parse_error)
6326 elems, false);
6327 kfree(elems);
6329 struct ieee802_11_elems *elems;
6342 elems = ieee802_11_parse_elems(
6346 if (elems && !elems->parse_error) {
6348 elems->ext_chansw_ie =
6354 elems, false);
6357 kfree(elems);
7300 /* copy and link elems for the STA profile */
7302 memcpy(assoc_data->ie_pos, req->links[link_id].elems,
7304 assoc_data->link[link_id].elems = assoc_data->ie_pos;