Lines Matching refs:vif
54 chanctx_conf = rcu_dereference(tx->sdata->vif.chanctx_conf); in ieee80211_duration()
139 if (tx->sdata->vif.bss_conf.basic_rates & BIT(i)) in ieee80211_duration()
179 tx->sdata->vif.bss_conf.use_short_preamble, in ieee80211_duration()
189 tx->sdata->vif.bss_conf.use_short_preamble, in ieee80211_duration()
227 if (tx->sdata->vif.type != NL80211_IFTYPE_STATION) in ieee80211_tx_h_dynamic_ps()
298 if (tx->sdata->vif.type == NL80211_IFTYPE_OCB) in ieee80211_tx_h_check_assoc()
301 if (tx->sdata->vif.type == NL80211_IFTYPE_WDS) in ieee80211_tx_h_check_assoc()
321 } else if (unlikely(tx->sdata->vif.type == NL80211_IFTYPE_AP && in ieee80211_tx_h_check_assoc()
348 if (sdata->vif.type == NL80211_IFTYPE_AP) in purge_old_ps_buffers()
350 else if (ieee80211_vif_is_mesh(&sdata->vif)) in purge_old_ps_buffers()
401 if (tx->sdata->vif.type == NL80211_IFTYPE_AP || in ieee80211_tx_h_multicast_ps_buf()
402 tx->sdata->vif.type == NL80211_IFTYPE_AP_VLAN) { in ieee80211_tx_h_multicast_ps_buf()
407 } else if (ieee80211_vif_is_mesh(&tx->sdata->vif)) { in ieee80211_tx_h_multicast_ps_buf()
422 info->hw_queue = tx->sdata->vif.cab_queue; in ieee80211_tx_h_multicast_ps_buf()
517 info->control.vif = &tx->sdata->vif; in ieee80211_tx_h_unicast_ps_buf()
665 txrc.bss_conf = &tx->sdata->vif.bss_conf; in ieee80211_tx_h_rate_ctrl()
678 txrc.bss = (tx->sdata->vif.type == NL80211_IFTYPE_AP || in ieee80211_tx_h_rate_ctrl()
679 tx->sdata->vif.type == NL80211_IFTYPE_MESH_POINT || in ieee80211_tx_h_rate_ctrl()
680 tx->sdata->vif.type == NL80211_IFTYPE_ADHOC); in ieee80211_tx_h_rate_ctrl()
688 info->control.use_cts_prot = tx->sdata->vif.bss_conf.use_cts_prot; in ieee80211_tx_h_rate_ctrl()
696 if (tx->sdata->vif.bss_conf.use_short_preamble && in ieee80211_tx_h_rate_ctrl()
791 if (unlikely(info->control.vif->type == NL80211_IFTYPE_MONITOR)) in ieee80211_tx_h_sequence()
1106 info->control.vif = &tx->sdata->vif; in ieee80211_tx_prep_agg()
1161 if (sdata->vif.type == NL80211_IFTYPE_AP_VLAN) { in ieee80211_tx_prepare()
1219 struct ieee80211_vif *vif, in ieee80211_drv_tx() argument
1224 struct ieee80211_sub_if_data *sdata = vif_to_sdata(vif); in ieee80211_drv_tx()
1243 } else if (vif) { in ieee80211_drv_tx()
1244 txq = vif->txq; in ieee80211_drv_tx()
1269 struct ieee80211_sub_if_data *sdata = vif_to_sdata(txq->vif); in ieee80211_tx_dequeue()
1286 ieee80211_propagate_queue_wake(local, sdata->vif.hw_queue[ac]); in ieee80211_tx_dequeue()
1309 struct ieee80211_vif *vif, in ieee80211_tx_frags() argument
1370 info->control.vif = vif; in ieee80211_tx_frags()
1373 ieee80211_drv_tx(local, vif, sta, skb); in ieee80211_tx_frags()
1388 struct ieee80211_vif *vif; in __ieee80211_tx() local
1400 sdata = vif_to_sdata(info->control.vif); in __ieee80211_tx()
1409 switch (sdata->vif.type) { in __ieee80211_tx()
1412 vif = &sdata->vif; in __ieee80211_tx()
1417 vif = &sdata->vif; in __ieee80211_tx()
1419 vif->hw_queue[skb_get_queue_mapping(skb)]; in __ieee80211_tx()
1424 vif = NULL; in __ieee80211_tx()
1431 vif = &sdata->vif; in __ieee80211_tx()
1435 result = ieee80211_tx_frags(local, vif, pubsta, skbs, in __ieee80211_tx()
1502 struct ieee80211_vif *vif, struct sk_buff *skb, in ieee80211_tx_prepare_skb() argument
1505 struct ieee80211_sub_if_data *sdata = vif_to_sdata(vif); in ieee80211_tx_prepare_skb()
1514 info->control.vif = vif; in ieee80211_tx_prepare_skb()
1515 info->hw_queue = vif->hw_queue[skb_get_queue_mapping(skb)]; in ieee80211_tx_prepare_skb()
1573 sdata->vif.hw_queue[skb_get_queue_mapping(skb)]; in ieee80211_tx()
1639 info->control.vif = &sdata->vif; in ieee80211_xmit()
1641 if (ieee80211_vif_is_mesh(&sdata->vif)) { in ieee80211_xmit()
1827 if (tmp_sdata->vif.type == NL80211_IFTYPE_MONITOR || in ieee80211_monitor_start_xmit()
1828 tmp_sdata->vif.type == NL80211_IFTYPE_AP_VLAN || in ieee80211_monitor_start_xmit()
1829 tmp_sdata->vif.type == NL80211_IFTYPE_WDS) in ieee80211_monitor_start_xmit()
1831 if (ether_addr_equal(tmp_sdata->vif.addr, hdr->addr2)) { in ieee80211_monitor_start_xmit()
1837 chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf); in ieee80211_monitor_start_xmit()
1842 rcu_dereference(tmp_sdata->vif.chanctx_conf); in ieee80211_monitor_start_xmit()
1869 sdata->vif.type)) in ieee80211_monitor_start_xmit()
1900 switch (sdata->vif.type) { in ieee80211_lookup_ra_sta()
2020 switch (sdata->vif.type) { in ieee80211_build_hdr()
2026 memcpy(hdr.addr2, sdata->vif.addr, ETH_ALEN); in ieee80211_build_hdr()
2035 chanctx_conf = rcu_dereference(ap_sdata->vif.chanctx_conf); in ieee80211_build_hdr()
2045 if (sdata->vif.type == NL80211_IFTYPE_AP) in ieee80211_build_hdr()
2046 chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf); in ieee80211_build_hdr()
2054 memcpy(hdr.addr2, sdata->vif.addr, ETH_ALEN); in ieee80211_build_hdr()
2063 memcpy(hdr.addr2, sdata->vif.addr, ETH_ALEN); in ieee80211_build_hdr()
2102 if (ether_addr_equal(sdata->vif.addr, skb->data + ETH_ALEN) && in ieee80211_build_hdr()
2123 mesh_da, sdata->vif.addr); in ieee80211_build_hdr()
2136 chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf); in ieee80211_build_hdr()
2160 memcpy(hdr.addr2, sdata->vif.addr, ETH_ALEN); in ieee80211_build_hdr()
2172 chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf); 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()
2216 } else if (ieee80211_vif_is_mesh(&sdata->vif)) { in ieee80211_build_hdr()
2231 if (unlikely(!ieee80211_vif_is_mesh(&sdata->vif) && in ieee80211_build_hdr()
2232 (sdata->vif.type != NL80211_IFTYPE_OCB) && in ieee80211_build_hdr()
2235 !ether_addr_equal(sdata->vif.addr, skb->data + ETH_ALEN)))) { in ieee80211_build_hdr()
2501 sdata = vif_to_sdata(info->control.vif); in ieee80211_tx_pending_skb()
2504 chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf); in ieee80211_tx_pending_skb()
2552 if (WARN_ON(!info->control.vif)) { in ieee80211_tx_pending()
2594 ps->dtim_count = sdata->vif.bss_conf.dtim_period - 1; in __ieee80211_beacon_add_tim()
2603 *pos++ = sdata->vif.bss_conf.dtim_period; in __ieee80211_beacon_add_tim()
2675 switch (sdata->vif.type) { in ieee80211_set_csa()
2706 if (sdata->vif.type == NL80211_IFTYPE_AP && resp) in ieee80211_set_csa()
2712 u8 ieee80211_csa_update_counter(struct ieee80211_vif *vif) in ieee80211_csa_update_counter() argument
2714 struct ieee80211_sub_if_data *sdata = vif_to_sdata(vif); in ieee80211_csa_update_counter()
2720 if (sdata->vif.type == NL80211_IFTYPE_AP) in ieee80211_csa_update_counter()
2722 else if (sdata->vif.type == NL80211_IFTYPE_ADHOC) in ieee80211_csa_update_counter()
2724 else if (ieee80211_vif_is_mesh(&sdata->vif)) in ieee80211_csa_update_counter()
2742 bool ieee80211_csa_is_complete(struct ieee80211_vif *vif) in ieee80211_csa_is_complete() argument
2744 struct ieee80211_sub_if_data *sdata = vif_to_sdata(vif); in ieee80211_csa_is_complete()
2754 if (vif->type == NL80211_IFTYPE_AP) { in ieee80211_csa_is_complete()
2762 } else if (vif->type == NL80211_IFTYPE_ADHOC) { in ieee80211_csa_is_complete()
2771 } else if (vif->type == NL80211_IFTYPE_MESH_POINT) { in ieee80211_csa_is_complete()
2802 struct ieee80211_vif *vif, in __ieee80211_beacon_get() argument
2818 sdata = vif_to_sdata(vif); in __ieee80211_beacon_get()
2819 chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf); in __ieee80211_beacon_get()
2827 if (sdata->vif.type == NL80211_IFTYPE_AP) { in __ieee80211_beacon_get()
2834 ieee80211_csa_update_counter(vif); in __ieee80211_beacon_get()
2870 } else if (sdata->vif.type == NL80211_IFTYPE_ADHOC) { in __ieee80211_beacon_get()
2880 ieee80211_csa_update_counter(vif); in __ieee80211_beacon_get()
2896 } else if (ieee80211_vif_is_mesh(&sdata->vif)) { in __ieee80211_beacon_get()
2910 ieee80211_csa_update_counter(vif); in __ieee80211_beacon_get()
2967 txrc.bss_conf = &sdata->vif.bss_conf; in __ieee80211_beacon_get()
2978 info->control.vif = vif; in __ieee80211_beacon_get()
2991 struct ieee80211_vif *vif, in ieee80211_beacon_get_template() argument
2994 return __ieee80211_beacon_get(hw, vif, offs, true); in ieee80211_beacon_get_template()
2999 struct ieee80211_vif *vif, in ieee80211_beacon_get_tim() argument
3003 struct sk_buff *bcn = __ieee80211_beacon_get(hw, vif, &offs, false); in ieee80211_beacon_get_tim()
3016 struct ieee80211_vif *vif) in ieee80211_proberesp_get() argument
3022 struct ieee80211_sub_if_data *sdata = vif_to_sdata(vif); in ieee80211_proberesp_get()
3024 if (sdata->vif.type != NL80211_IFTYPE_AP) in ieee80211_proberesp_get()
3050 struct ieee80211_vif *vif) in ieee80211_pspoll_get() argument
3058 if (WARN_ON(vif->type != NL80211_IFTYPE_STATION)) in ieee80211_pspoll_get()
3061 sdata = vif_to_sdata(vif); in ieee80211_pspoll_get()
3081 memcpy(pspoll->ta, vif->addr, ETH_ALEN); in ieee80211_pspoll_get()
3088 struct ieee80211_vif *vif) in ieee80211_nullfunc_get() argument
3096 if (WARN_ON(vif->type != NL80211_IFTYPE_STATION)) in ieee80211_nullfunc_get()
3099 sdata = vif_to_sdata(vif); in ieee80211_nullfunc_get()
3116 memcpy(nullfunc->addr2, vif->addr, ETH_ALEN); in ieee80211_nullfunc_get()
3162 void ieee80211_rts_get(struct ieee80211_hw *hw, struct ieee80211_vif *vif, in ieee80211_rts_get() argument
3171 rts->duration = ieee80211_rts_duration(hw, vif, frame_len, in ieee80211_rts_get()
3178 void ieee80211_ctstoself_get(struct ieee80211_hw *hw, struct ieee80211_vif *vif, in ieee80211_ctstoself_get() argument
3187 cts->duration = ieee80211_ctstoself_duration(hw, vif, in ieee80211_ctstoself_get()
3195 struct ieee80211_vif *vif) in ieee80211_get_buffered_bc() argument
3205 sdata = vif_to_sdata(vif); in ieee80211_get_buffered_bc()
3208 chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf); in ieee80211_get_buffered_bc()
3213 if (sdata->vif.type == NL80211_IFTYPE_AP) { in ieee80211_get_buffered_bc()
3221 } else if (ieee80211_vif_is_mesh(&sdata->vif)) { in ieee80211_get_buffered_bc()
3246 if (sdata->vif.type == NL80211_IFTYPE_AP) in ieee80211_get_buffered_bc()
3278 switch (sdata->vif.type) { in ieee80211_reserve_tid()
3314 queues = BIT(sdata->vif.hw_queue[ieee802_1d_to_ac[tid]]); in ieee80211_reserve_tid()
3339 switch (sdata->vif.type) { in ieee80211_unreserve_tid()