Lines Matching refs:elems
1273 struct ieee802_11_elems *elems, bool beacon) in ieee80211_mesh_process_chnswitch() argument
1306 if (elems->vht_cap_elem) in ieee80211_mesh_process_chnswitch()
1308 le32_to_cpu(elems->vht_cap_elem->vht_cap_info); in ieee80211_mesh_process_chnswitch()
1311 err = ieee80211_parse_ch_switch_ie(sdata, elems, sband->band, in ieee80211_mesh_process_chnswitch()
1401 struct ieee802_11_elems *elems; in ieee80211_mesh_rx_probe_req() local
1410 elems = ieee802_11_parse_elems(pos, len - baselen, false, NULL); in ieee80211_mesh_rx_probe_req()
1411 if (!elems) in ieee80211_mesh_rx_probe_req()
1414 if (!elems->mesh_id) in ieee80211_mesh_rx_probe_req()
1420 elems->ssid_len != 0) in ieee80211_mesh_rx_probe_req()
1423 if (elems->mesh_id_len != 0 && in ieee80211_mesh_rx_probe_req()
1424 (elems->mesh_id_len != ifmsh->mesh_id_len || in ieee80211_mesh_rx_probe_req()
1425 memcmp(elems->mesh_id, ifmsh->mesh_id, ifmsh->mesh_id_len))) in ieee80211_mesh_rx_probe_req()
1451 kfree(elems); in ieee80211_mesh_rx_probe_req()
1462 struct ieee802_11_elems *elems; in ieee80211_mesh_rx_bcn_presp() local
1477 elems = ieee802_11_parse_elems(mgmt->u.probe_resp.variable, in ieee80211_mesh_rx_bcn_presp()
1480 if (!elems) in ieee80211_mesh_rx_bcn_presp()
1484 if ((!elems->mesh_id || !elems->mesh_config) || in ieee80211_mesh_rx_bcn_presp()
1485 (elems->rsn && sdata->u.mesh.security == IEEE80211_MESH_SEC_NONE) || in ieee80211_mesh_rx_bcn_presp()
1486 (!elems->rsn && sdata->u.mesh.security != IEEE80211_MESH_SEC_NONE)) in ieee80211_mesh_rx_bcn_presp()
1489 if (elems->ds_params) in ieee80211_mesh_rx_bcn_presp()
1490 freq = ieee80211_channel_to_frequency(elems->ds_params[0], band); in ieee80211_mesh_rx_bcn_presp()
1499 if (mesh_matches_local(sdata, elems)) { in ieee80211_mesh_rx_bcn_presp()
1505 mesh_neighbour_update(sdata, mgmt->sa, elems, in ieee80211_mesh_rx_bcn_presp()
1510 ieee80211_mesh_process_chnswitch(sdata, elems, true); in ieee80211_mesh_rx_bcn_presp()
1515 elems->mesh_config, rx_status); in ieee80211_mesh_rx_bcn_presp()
1517 kfree(elems); in ieee80211_mesh_rx_bcn_presp()
1580 struct ieee802_11_elems *elems) in mesh_fwd_csa_frame() argument
1592 elems->mesh_chansw_params_ie->mesh_ttl--; in mesh_fwd_csa_frame()
1593 elems->mesh_chansw_params_ie->mesh_flags &= in mesh_fwd_csa_frame()
1609 struct ieee802_11_elems *elems; in mesh_rx_csa_frame() local
1622 elems = ieee802_11_parse_elems(pos, len - baselen, true, NULL); in mesh_rx_csa_frame()
1623 if (!elems) in mesh_rx_csa_frame()
1626 if (!mesh_matches_local(sdata, elems)) in mesh_rx_csa_frame()
1629 ifmsh->chsw_ttl = elems->mesh_chansw_params_ie->mesh_ttl; in mesh_rx_csa_frame()
1633 pre_value = le16_to_cpu(elems->mesh_chansw_params_ie->mesh_pre_value); in mesh_rx_csa_frame()
1640 !ieee80211_mesh_process_chnswitch(sdata, elems, false)) { in mesh_rx_csa_frame()
1647 if (mesh_fwd_csa_frame(sdata, mgmt, len, elems) < 0) in mesh_rx_csa_frame()
1651 kfree(elems); in mesh_rx_csa_frame()