Lines Matching refs:vif
64 chanctx_conf = rcu_dereference(tx->sdata->vif.chanctx_conf); in ieee80211_duration()
149 if (tx->sdata->vif.bss_conf.basic_rates & BIT(i)) in ieee80211_duration()
189 tx->sdata->vif.bss_conf.use_short_preamble, in ieee80211_duration()
199 tx->sdata->vif.bss_conf.use_short_preamble, in ieee80211_duration()
237 if (tx->sdata->vif.type != NL80211_IFTYPE_STATION) in ieee80211_tx_h_dynamic_ps()
308 if (tx->sdata->vif.type == NL80211_IFTYPE_OCB) in ieee80211_tx_h_check_assoc()
311 if (tx->sdata->vif.type == NL80211_IFTYPE_WDS) in ieee80211_tx_h_check_assoc()
331 } else if (unlikely(tx->sdata->vif.type == NL80211_IFTYPE_AP && in ieee80211_tx_h_check_assoc()
358 if (sdata->vif.type == NL80211_IFTYPE_AP) in purge_old_ps_buffers()
360 else if (ieee80211_vif_is_mesh(&sdata->vif)) in purge_old_ps_buffers()
411 if (tx->sdata->vif.type == NL80211_IFTYPE_AP || in ieee80211_tx_h_multicast_ps_buf()
412 tx->sdata->vif.type == NL80211_IFTYPE_AP_VLAN) { in ieee80211_tx_h_multicast_ps_buf()
417 } else if (ieee80211_vif_is_mesh(&tx->sdata->vif)) { in ieee80211_tx_h_multicast_ps_buf()
432 info->hw_queue = tx->sdata->vif.cab_queue; in ieee80211_tx_h_multicast_ps_buf()
527 info->control.vif = &tx->sdata->vif; in ieee80211_tx_h_unicast_ps_buf()
674 txrc.bss_conf = &tx->sdata->vif.bss_conf; in ieee80211_tx_h_rate_ctrl()
687 txrc.bss = (tx->sdata->vif.type == NL80211_IFTYPE_AP || in ieee80211_tx_h_rate_ctrl()
688 tx->sdata->vif.type == NL80211_IFTYPE_MESH_POINT || in ieee80211_tx_h_rate_ctrl()
689 tx->sdata->vif.type == NL80211_IFTYPE_ADHOC || in ieee80211_tx_h_rate_ctrl()
690 tx->sdata->vif.type == NL80211_IFTYPE_OCB); in ieee80211_tx_h_rate_ctrl()
698 info->control.use_cts_prot = tx->sdata->vif.bss_conf.use_cts_prot; in ieee80211_tx_h_rate_ctrl()
706 if (tx->sdata->vif.bss_conf.use_short_preamble && in ieee80211_tx_h_rate_ctrl()
801 if (unlikely(info->control.vif->type == NL80211_IFTYPE_MONITOR)) in ieee80211_tx_h_sequence()
1115 info->control.vif = &tx->sdata->vif; in ieee80211_tx_prep_agg()
1172 if (sdata->vif.type == NL80211_IFTYPE_AP_VLAN) { in ieee80211_tx_prepare()
1232 struct ieee80211_vif *vif, in ieee80211_drv_tx() argument
1237 struct ieee80211_sub_if_data *sdata = vif_to_sdata(vif); in ieee80211_drv_tx()
1256 } else if (vif) { in ieee80211_drv_tx()
1257 txq = vif->txq; in ieee80211_drv_tx()
1282 struct ieee80211_sub_if_data *sdata = vif_to_sdata(txq->vif); in ieee80211_tx_dequeue()
1299 ieee80211_propagate_queue_wake(local, sdata->vif.hw_queue[ac]); in ieee80211_tx_dequeue()
1322 struct ieee80211_vif *vif, in ieee80211_tx_frags() argument
1383 info->control.vif = vif; in ieee80211_tx_frags()
1386 ieee80211_drv_tx(local, vif, sta, skb); in ieee80211_tx_frags()
1401 struct ieee80211_vif *vif; in __ieee80211_tx() local
1413 sdata = vif_to_sdata(info->control.vif); in __ieee80211_tx()
1422 switch (sdata->vif.type) { in __ieee80211_tx()
1425 vif = &sdata->vif; in __ieee80211_tx()
1430 vif = &sdata->vif; in __ieee80211_tx()
1432 vif->hw_queue[skb_get_queue_mapping(skb)]; in __ieee80211_tx()
1437 vif = NULL; in __ieee80211_tx()
1444 vif = &sdata->vif; in __ieee80211_tx()
1448 result = ieee80211_tx_frags(local, vif, pubsta, skbs, in __ieee80211_tx()
1515 struct ieee80211_vif *vif, struct sk_buff *skb, in ieee80211_tx_prepare_skb() argument
1518 struct ieee80211_sub_if_data *sdata = vif_to_sdata(vif); in ieee80211_tx_prepare_skb()
1527 info->control.vif = vif; in ieee80211_tx_prepare_skb()
1528 info->hw_queue = vif->hw_queue[skb_get_queue_mapping(skb)]; in ieee80211_tx_prepare_skb()
1586 sdata->vif.hw_queue[skb_get_queue_mapping(skb)]; in ieee80211_tx()
1652 info->control.vif = &sdata->vif; in ieee80211_xmit()
1654 if (ieee80211_vif_is_mesh(&sdata->vif)) { in ieee80211_xmit()
1840 if (tmp_sdata->vif.type == NL80211_IFTYPE_MONITOR || in ieee80211_monitor_start_xmit()
1841 tmp_sdata->vif.type == NL80211_IFTYPE_AP_VLAN || in ieee80211_monitor_start_xmit()
1842 tmp_sdata->vif.type == NL80211_IFTYPE_WDS) in ieee80211_monitor_start_xmit()
1844 if (ether_addr_equal(tmp_sdata->vif.addr, hdr->addr2)) { in ieee80211_monitor_start_xmit()
1850 chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf); in ieee80211_monitor_start_xmit()
1855 rcu_dereference(tmp_sdata->vif.chanctx_conf); in ieee80211_monitor_start_xmit()
1882 sdata->vif.type)) in ieee80211_monitor_start_xmit()
1913 switch (sdata->vif.type) { in ieee80211_lookup_ra_sta()
2033 switch (sdata->vif.type) { in ieee80211_build_hdr()
2039 memcpy(hdr.addr2, sdata->vif.addr, ETH_ALEN); in ieee80211_build_hdr()
2048 chanctx_conf = rcu_dereference(ap_sdata->vif.chanctx_conf); in ieee80211_build_hdr()
2058 if (sdata->vif.type == NL80211_IFTYPE_AP) in ieee80211_build_hdr()
2059 chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf); in ieee80211_build_hdr()
2067 memcpy(hdr.addr2, sdata->vif.addr, ETH_ALEN); in ieee80211_build_hdr()
2076 memcpy(hdr.addr2, sdata->vif.addr, ETH_ALEN); in ieee80211_build_hdr()
2115 if (ether_addr_equal(sdata->vif.addr, skb->data + ETH_ALEN) && in ieee80211_build_hdr()
2136 mesh_da, sdata->vif.addr); in ieee80211_build_hdr()
2149 chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf); in ieee80211_build_hdr()
2173 memcpy(hdr.addr2, sdata->vif.addr, ETH_ALEN); in ieee80211_build_hdr()
2185 chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf); in ieee80211_build_hdr()
2198 chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf); in ieee80211_build_hdr()
2211 chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf); in ieee80211_build_hdr()
2229 } else if (ieee80211_vif_is_mesh(&sdata->vif)) { in ieee80211_build_hdr()
2244 if (unlikely(!ieee80211_vif_is_mesh(&sdata->vif) && in ieee80211_build_hdr()
2245 (sdata->vif.type != NL80211_IFTYPE_OCB) && in ieee80211_build_hdr()
2248 !ether_addr_equal(sdata->vif.addr, skb->data + ETH_ALEN)))) { in ieee80211_build_hdr()
2448 sdata->vif.type == NL80211_IFTYPE_STATION) in ieee80211_check_fast_xmit()
2469 chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf); in ieee80211_check_fast_xmit()
2479 switch (sdata->vif.type) { in ieee80211_check_fast_xmit()
2503 memcpy(hdr->addr2, sdata->vif.addr, ETH_ALEN); in ieee80211_check_fast_xmit()
2522 memcpy(hdr->addr2, sdata->vif.addr, ETH_ALEN); in ieee80211_check_fast_xmit()
2533 memcpy(hdr->addr2, sdata->vif.addr, ETH_ALEN); in ieee80211_check_fast_xmit()
2766 info->control.vif = &sdata->vif; in ieee80211_xmit_fast()
2787 info->hw_queue = sdata->vif.hw_queue[skb_get_queue_mapping(skb)]; in ieee80211_xmit_fast()
2839 if (sdata->vif.type == NL80211_IFTYPE_AP_VLAN) in ieee80211_xmit_fast()
2844 ieee80211_tx_frags(local, &sdata->vif, &sta->sta, &tx.skbs, false); in ieee80211_xmit_fast()
3010 sdata = vif_to_sdata(info->control.vif); in ieee80211_tx_pending_skb()
3013 chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf); in ieee80211_tx_pending_skb()
3061 if (WARN_ON(!info->control.vif)) { in ieee80211_tx_pending()
3103 ps->dtim_count = sdata->vif.bss_conf.dtim_period - 1; in __ieee80211_beacon_add_tim()
3112 *pos++ = sdata->vif.bss_conf.dtim_period; in __ieee80211_beacon_add_tim()
3184 switch (sdata->vif.type) { in ieee80211_set_csa()
3215 if (sdata->vif.type == NL80211_IFTYPE_AP && resp) in ieee80211_set_csa()
3231 u8 ieee80211_csa_update_counter(struct ieee80211_vif *vif) in ieee80211_csa_update_counter() argument
3233 struct ieee80211_sub_if_data *sdata = vif_to_sdata(vif); in ieee80211_csa_update_counter()
3239 if (sdata->vif.type == NL80211_IFTYPE_AP) in ieee80211_csa_update_counter()
3241 else if (sdata->vif.type == NL80211_IFTYPE_ADHOC) in ieee80211_csa_update_counter()
3243 else if (ieee80211_vif_is_mesh(&sdata->vif)) in ieee80211_csa_update_counter()
3257 bool ieee80211_csa_is_complete(struct ieee80211_vif *vif) in ieee80211_csa_is_complete() argument
3259 struct ieee80211_sub_if_data *sdata = vif_to_sdata(vif); in ieee80211_csa_is_complete()
3269 if (vif->type == NL80211_IFTYPE_AP) { in ieee80211_csa_is_complete()
3277 } else if (vif->type == NL80211_IFTYPE_ADHOC) { in ieee80211_csa_is_complete()
3286 } else if (vif->type == NL80211_IFTYPE_MESH_POINT) { in ieee80211_csa_is_complete()
3317 struct ieee80211_vif *vif, in __ieee80211_beacon_get() argument
3333 sdata = vif_to_sdata(vif); in __ieee80211_beacon_get()
3334 chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf); in __ieee80211_beacon_get()
3342 if (sdata->vif.type == NL80211_IFTYPE_AP) { in __ieee80211_beacon_get()
3385 } else if (sdata->vif.type == NL80211_IFTYPE_ADHOC) { in __ieee80211_beacon_get()
3411 } else if (ieee80211_vif_is_mesh(&sdata->vif)) { in __ieee80211_beacon_get()
3482 txrc.bss_conf = &sdata->vif.bss_conf; in __ieee80211_beacon_get()
3493 info->control.vif = vif; in __ieee80211_beacon_get()
3506 struct ieee80211_vif *vif, in ieee80211_beacon_get_template() argument
3509 return __ieee80211_beacon_get(hw, vif, offs, true); in ieee80211_beacon_get_template()
3514 struct ieee80211_vif *vif, in ieee80211_beacon_get_tim() argument
3518 struct sk_buff *bcn = __ieee80211_beacon_get(hw, vif, &offs, false); in ieee80211_beacon_get_tim()
3541 shift = ieee80211_vif_get_shift(vif); in ieee80211_beacon_get_tim()
3542 sband = hw->wiphy->bands[ieee80211_get_sdata_band(vif_to_sdata(vif))]; in ieee80211_beacon_get_tim()
3550 struct ieee80211_vif *vif) in ieee80211_proberesp_get() argument
3556 struct ieee80211_sub_if_data *sdata = vif_to_sdata(vif); in ieee80211_proberesp_get()
3558 if (sdata->vif.type != NL80211_IFTYPE_AP) in ieee80211_proberesp_get()
3584 struct ieee80211_vif *vif) in ieee80211_pspoll_get() argument
3592 if (WARN_ON(vif->type != NL80211_IFTYPE_STATION)) in ieee80211_pspoll_get()
3595 sdata = vif_to_sdata(vif); in ieee80211_pspoll_get()
3615 memcpy(pspoll->ta, vif->addr, ETH_ALEN); in ieee80211_pspoll_get()
3622 struct ieee80211_vif *vif) in ieee80211_nullfunc_get() argument
3630 if (WARN_ON(vif->type != NL80211_IFTYPE_STATION)) in ieee80211_nullfunc_get()
3633 sdata = vif_to_sdata(vif); in ieee80211_nullfunc_get()
3650 memcpy(nullfunc->addr2, vif->addr, ETH_ALEN); in ieee80211_nullfunc_get()
3696 void ieee80211_rts_get(struct ieee80211_hw *hw, struct ieee80211_vif *vif, in ieee80211_rts_get() argument
3705 rts->duration = ieee80211_rts_duration(hw, vif, frame_len, in ieee80211_rts_get()
3712 void ieee80211_ctstoself_get(struct ieee80211_hw *hw, struct ieee80211_vif *vif, in ieee80211_ctstoself_get() argument
3721 cts->duration = ieee80211_ctstoself_duration(hw, vif, in ieee80211_ctstoself_get()
3729 struct ieee80211_vif *vif) in ieee80211_get_buffered_bc() argument
3739 sdata = vif_to_sdata(vif); in ieee80211_get_buffered_bc()
3742 chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf); in ieee80211_get_buffered_bc()
3747 if (sdata->vif.type == NL80211_IFTYPE_AP) { in ieee80211_get_buffered_bc()
3755 } else if (ieee80211_vif_is_mesh(&sdata->vif)) { in ieee80211_get_buffered_bc()
3780 if (sdata->vif.type == NL80211_IFTYPE_AP) in ieee80211_get_buffered_bc()
3812 switch (sdata->vif.type) { in ieee80211_reserve_tid()
3848 queues = BIT(sdata->vif.hw_queue[ieee802_1d_to_ac[tid]]); in ieee80211_reserve_tid()
3873 switch (sdata->vif.type) { in ieee80211_unreserve_tid()