• Home
  • Raw
  • Download

Lines Matching refs:sta

303 				   struct sta_info *sta)  in ieee80211_tdls_chandef_vht_upgrade()  argument
307 struct cfg80211_chan_def uc = sta->tdls_chandef; in ieee80211_tdls_chandef_vht_upgrade()
308 enum nl80211_chan_width max_width = ieee80211_sta_cap_chan_bw(sta); in ieee80211_tdls_chandef_vht_upgrade()
340 (uc.width > sta->tdls_chandef.width && in ieee80211_tdls_chandef_vht_upgrade()
345 if (!cfg80211_chandef_identical(&uc, &sta->tdls_chandef)) { in ieee80211_tdls_chandef_vht_upgrade()
347 sta->tdls_chandef.width, uc.width); in ieee80211_tdls_chandef_vht_upgrade()
353 sta->tdls_chandef = uc; in ieee80211_tdls_chandef_vht_upgrade()
367 struct sta_info *sta = NULL; in ieee80211_tdls_add_setup_start_ies() local
431 sta = sta_info_get(sdata, peer); in ieee80211_tdls_add_setup_start_ies()
432 if (WARN_ON_ONCE(!sta)) { in ieee80211_tdls_add_setup_start_ies()
437 sta->tdls_chandef = sdata->vif.bss_conf.chandef; in ieee80211_tdls_add_setup_start_ies()
461 ht_cap.ht_supported && sta->sta.ht_cap.ht_supported) { in ieee80211_tdls_add_setup_start_ies()
463 memcpy(&ht_cap, &sta->sta.ht_cap, sizeof(ht_cap)); in ieee80211_tdls_add_setup_start_ies()
513 vht_cap.vht_supported && sta->sta.vht_cap.vht_supported) { in ieee80211_tdls_add_setup_start_ies()
515 memcpy(&vht_cap, &sta->sta.vht_cap, sizeof(vht_cap)); in ieee80211_tdls_add_setup_start_ies()
527 if (test_sta_flag(sta, WLAN_STA_TDLS_WIDER_BW)) in ieee80211_tdls_add_setup_start_ies()
528 ieee80211_tdls_chandef_vht_upgrade(sdata, sta); in ieee80211_tdls_add_setup_start_ies()
551 struct sta_info *sta, *ap_sta; in ieee80211_tdls_add_setup_cfm_ies() local
561 sta = sta_info_get(sdata, peer); in ieee80211_tdls_add_setup_cfm_ies()
563 if (WARN_ON_ONCE(!sta || !ap_sta)) { in ieee80211_tdls_add_setup_cfm_ies()
568 sta->tdls_chandef = sdata->vif.bss_conf.chandef; in ieee80211_tdls_add_setup_cfm_ies()
585 if (local->hw.queues >= IEEE80211_NUM_ACS && sta->sta.wme) in ieee80211_tdls_add_setup_cfm_ies()
609 if (!ap_sta->sta.ht_cap.ht_supported && sta->sta.ht_cap.ht_supported) { in ieee80211_tdls_add_setup_cfm_ies()
615 ieee80211_ie_build_ht_oper(pos, &sta->sta.ht_cap, in ieee80211_tdls_add_setup_cfm_ies()
624 sta->sta.vht_cap.vht_supported) { in ieee80211_tdls_add_setup_cfm_ies()
629 if (test_sta_flag(sta, WLAN_STA_TDLS_WIDER_BW)) in ieee80211_tdls_add_setup_cfm_ies()
630 ieee80211_tdls_chandef_vht_upgrade(sdata, sta); in ieee80211_tdls_add_setup_cfm_ies()
633 ieee80211_ie_build_vht_oper(pos, &sta->sta.vht_cap, in ieee80211_tdls_add_setup_cfm_ies()
634 &sta->tdls_chandef); in ieee80211_tdls_add_setup_cfm_ies()
950 struct sta_info *sta; in ieee80211_tdls_prep_mgmt_packet() local
955 sta = sta_info_get(sdata, peer); in ieee80211_tdls_prep_mgmt_packet()
960 if (sta) { in ieee80211_tdls_prep_mgmt_packet()
961 set_sta_flag(sta, WLAN_STA_TDLS_INITIATOR); in ieee80211_tdls_prep_mgmt_packet()
962 sta->sta.tdls_initiator = false; in ieee80211_tdls_prep_mgmt_packet()
975 if (sta) { in ieee80211_tdls_prep_mgmt_packet()
976 clear_sta_flag(sta, WLAN_STA_TDLS_INITIATOR); in ieee80211_tdls_prep_mgmt_packet()
977 sta->sta.tdls_initiator = true; in ieee80211_tdls_prep_mgmt_packet()
993 if (sta && test_sta_flag(sta, WLAN_STA_TDLS_INITIATOR)) in ieee80211_tdls_prep_mgmt_packet()
1042 sta = sta_info_get(sdata, peer); in ieee80211_tdls_prep_mgmt_packet()
1043 try_resend = sta && test_sta_flag(sta, WLAN_STA_TDLS_PEER_AUTH); in ieee80211_tdls_prep_mgmt_packet()
1158 struct sta_info *sta; in ieee80211_tdls_mgmt_teardown() local
1185 sta = sta_info_get(sdata, peer); in ieee80211_tdls_mgmt_teardown()
1186 if (sta) in ieee80211_tdls_mgmt_teardown()
1187 clear_sta_flag(sta, WLAN_STA_TDLS_PEER_AUTH); in ieee80211_tdls_mgmt_teardown()
1258 struct sta_info *sta) in iee80211_tdls_recalc_chanctx() argument
1276 if (width != conf->def.width && sta && in iee80211_tdls_recalc_chanctx()
1277 test_sta_flag(sta, WLAN_STA_TDLS_WIDER_BW)) { in iee80211_tdls_recalc_chanctx()
1281 bw = min(bw, ieee80211_sta_cap_rx_bw(sta)); in iee80211_tdls_recalc_chanctx()
1282 if (bw != sta->sta.bandwidth) { in iee80211_tdls_recalc_chanctx()
1283 sta->sta.bandwidth = bw; in iee80211_tdls_recalc_chanctx()
1284 rate_control_rate_update(local, sband, sta, in iee80211_tdls_recalc_chanctx()
1301 struct sta_info *sta; in iee80211_tdls_have_ht_peers() local
1305 list_for_each_entry_rcu(sta, &sdata->local->sta_list, list) { in iee80211_tdls_have_ht_peers()
1306 if (!sta->sta.tdls || sta->sdata != sdata || !sta->uploaded || in iee80211_tdls_have_ht_peers()
1307 !test_sta_flag(sta, WLAN_STA_AUTHORIZED) || in iee80211_tdls_have_ht_peers()
1308 !test_sta_flag(sta, WLAN_STA_TDLS_PEER_AUTH) || in iee80211_tdls_have_ht_peers()
1309 !sta->sta.ht_cap.ht_supported) in iee80211_tdls_have_ht_peers()
1321 struct sta_info *sta) in iee80211_tdls_recalc_ht_protection() argument
1334 tdls_ht = (sta && sta->sta.ht_cap.ht_supported) || in iee80211_tdls_recalc_ht_protection()
1354 struct sta_info *sta; in ieee80211_tdls_oper() local
1392 sta = sta_info_get(sdata, peer); in ieee80211_tdls_oper()
1393 if (!sta) { in ieee80211_tdls_oper()
1399 iee80211_tdls_recalc_chanctx(sdata, sta); in ieee80211_tdls_oper()
1400 iee80211_tdls_recalc_ht_protection(sdata, sta); in ieee80211_tdls_oper()
1402 set_sta_flag(sta, WLAN_STA_TDLS_PEER_AUTH); in ieee80211_tdls_oper()
1499 ieee80211_tdls_ch_sw_tmpl_get(struct sta_info *sta, u8 oper_class, in ieee80211_tdls_ch_sw_tmpl_get() argument
1503 struct ieee80211_sub_if_data *sdata = sta->sdata; in ieee80211_tdls_ch_sw_tmpl_get()
1535 skb = ieee80211_tdls_build_mgmt_packet_data(sdata, sta->sta.addr, in ieee80211_tdls_ch_sw_tmpl_get()
1537 0, 0, !sta->sta.tdls_initiator, in ieee80211_tdls_ch_sw_tmpl_get()
1563 sta->sta.addr, chandef->chan->center_freq, chandef->width); in ieee80211_tdls_ch_sw_tmpl_get()
1574 struct sta_info *sta; in ieee80211_tdls_channel_switch() local
1580 sta = sta_info_get(sdata, addr); in ieee80211_tdls_channel_switch()
1581 if (!sta) { in ieee80211_tdls_channel_switch()
1589 if (!test_sta_flag(sta, WLAN_STA_TDLS_CHAN_SWITCH)) { in ieee80211_tdls_channel_switch()
1596 skb = ieee80211_tdls_ch_sw_tmpl_get(sta, oper_class, chandef, in ieee80211_tdls_channel_switch()
1603 ret = drv_tdls_channel_switch(local, sdata, &sta->sta, oper_class, in ieee80211_tdls_channel_switch()
1606 set_sta_flag(sta, WLAN_STA_TDLS_OFF_CHANNEL); in ieee80211_tdls_channel_switch()
1621 struct sta_info *sta; in ieee80211_tdls_cancel_channel_switch() local
1624 sta = sta_info_get(sdata, addr); in ieee80211_tdls_cancel_channel_switch()
1625 if (!sta) { in ieee80211_tdls_cancel_channel_switch()
1632 if (!test_sta_flag(sta, WLAN_STA_TDLS_OFF_CHANNEL)) { in ieee80211_tdls_cancel_channel_switch()
1638 drv_tdls_cancel_channel_switch(local, sdata, &sta->sta); in ieee80211_tdls_cancel_channel_switch()
1639 clear_sta_flag(sta, WLAN_STA_TDLS_OFF_CHANNEL); in ieee80211_tdls_cancel_channel_switch()
1646 ieee80211_tdls_ch_sw_resp_tmpl_get(struct sta_info *sta, in ieee80211_tdls_ch_sw_resp_tmpl_get() argument
1649 struct ieee80211_sub_if_data *sdata = sta->sdata; in ieee80211_tdls_ch_sw_resp_tmpl_get()
1656 skb = ieee80211_tdls_build_mgmt_packet_data(sdata, sta->sta.addr, in ieee80211_tdls_ch_sw_resp_tmpl_get()
1658 0, 0, !sta->sta.tdls_initiator, in ieee80211_tdls_ch_sw_resp_tmpl_get()
1684 sta->sta.addr); in ieee80211_tdls_ch_sw_resp_tmpl_get()
1694 struct sta_info *sta; in ieee80211_process_tdls_channel_switch_resp() local
1712 sta = sta_info_get(sdata, tf->sa); in ieee80211_process_tdls_channel_switch_resp()
1713 if (!sta || !test_sta_flag(sta, WLAN_STA_TDLS_PEER_AUTH)) { in ieee80211_process_tdls_channel_switch_resp()
1720 params.sta = &sta->sta; in ieee80211_process_tdls_channel_switch_resp()
1744 if (local_initiator == sta->sta.tdls_initiator) { in ieee80211_process_tdls_channel_switch_resp()
1754 ieee80211_tdls_ch_sw_resp_tmpl_get(sta, &params.ch_sw_tm_ie); in ieee80211_process_tdls_channel_switch_resp()
1786 struct sta_info *sta; in ieee80211_process_tdls_channel_switch_req() local
1877 sta = sta_info_get(sdata, tf->sa); in ieee80211_process_tdls_channel_switch_req()
1878 if (!sta || !test_sta_flag(sta, WLAN_STA_TDLS_PEER_AUTH)) { in ieee80211_process_tdls_channel_switch_req()
1885 params.sta = &sta->sta; in ieee80211_process_tdls_channel_switch_req()
1890 if (local_initiator == sta->sta.tdls_initiator) { in ieee80211_process_tdls_channel_switch_req()
1897 if (!sta->sta.ht_cap.ht_supported && elems.sec_chan_offs && in ieee80211_process_tdls_channel_switch_req()
1909 ieee80211_tdls_ch_sw_resp_tmpl_get(sta, in ieee80211_process_tdls_channel_switch_req()
1963 struct sta_info *sta; in ieee80211_teardown_tdls_peers() local
1967 list_for_each_entry_rcu(sta, &sdata->local->sta_list, list) { in ieee80211_teardown_tdls_peers()
1968 if (!sta->sta.tdls || sta->sdata != sdata || !sta->uploaded || in ieee80211_teardown_tdls_peers()
1969 !test_sta_flag(sta, WLAN_STA_AUTHORIZED)) in ieee80211_teardown_tdls_peers()
1972 ieee80211_tdls_oper_request(&sdata->vif, sta->sta.addr, in ieee80211_teardown_tdls_peers()