Lines Matching refs:sdata

17 	struct ieee80211_sub_if_data *sdata;  member
42 i < ARRAY_SIZE(iter->sdata->vif.cfg.nan_sched.channels); i++) { in ieee80211_chanctx_user_iter_next_nan_channel()
44 &iter->sdata->vif.cfg.nan_sched.channels[i]; in ieee80211_chanctx_user_iter_next_nan_channel()
69 link_id < ARRAY_SIZE(iter->sdata->link); in ieee80211_chanctx_user_iter_next_link()
73 link = sdata_dereference(iter->sdata->link[link_id], in ieee80211_chanctx_user_iter_next_link()
74 iter->sdata); in ieee80211_chanctx_user_iter_next_link()
138 iter->sdata = list_prepare_entry(iter->sdata, &local->interfaces, list); in ieee80211_chanctx_user_iter_next()
139 list_for_each_entry_continue(iter->sdata, &local->interfaces, list) { in ieee80211_chanctx_user_iter_next()
140 if (!ieee80211_sdata_running(iter->sdata)) in ieee80211_chanctx_user_iter_next()
144 if (iter->sdata->vif.type == NL80211_IFTYPE_AP_VLAN) in ieee80211_chanctx_user_iter_next()
148 if (iter->sdata->vif.type == NL80211_IFTYPE_NAN && in ieee80211_chanctx_user_iter_next()
154 iter->iftype = iter->sdata->vif.type; in ieee80211_chanctx_user_iter_next()
262 struct ieee80211_local *local __maybe_unused = link->sdata->local; in ieee80211_link_get_chanctx()
494 struct ieee80211_sub_if_data *sdata = link->sdata; in ieee80211_get_max_required_bw() local
499 lockdep_assert_wiphy(sdata->local->hw.wiphy); in ieee80211_get_max_required_bw()
501 list_for_each_entry(sta, &sdata->local->sta_list, list) { in ieee80211_get_max_required_bw()
502 if (sdata != sta->sdata && in ieee80211_get_max_required_bw()
503 !(sta->sdata->bss && sta->sdata->bss == sdata->bss)) in ieee80211_get_max_required_bw()
515 struct ieee80211_local *local = link->sdata->local; in ieee80211_get_width_of_link()
517 switch (link->sdata->vif.type) { in ieee80211_get_width_of_link()
519 if (!link->sdata->vif.cfg.assoc) { in ieee80211_get_width_of_link()
582 struct ieee80211_sub_if_data *sdata; in ieee80211_get_chanctx_max_required_bw() local
604 rsvd_for->sdata == rcu_access_pointer(local->monitor_sdata)) in ieee80211_get_chanctx_max_required_bw()
613 sdata = wiphy_dereference(local->hw.wiphy, local->monitor_sdata); in ieee80211_get_chanctx_max_required_bw()
614 if (sdata && in ieee80211_get_chanctx_max_required_bw()
615 rcu_access_pointer(sdata->vif.bss_conf.chanctx_conf) == &ctx->conf) in ieee80211_get_chanctx_max_required_bw()
679 struct ieee80211_sub_if_data *sdata; in ieee80211_chan_bw_change() local
683 if (!ieee80211_sdata_running(sta->sdata)) in ieee80211_chan_bw_change()
686 sdata = get_bss_sdata(sta->sdata); in ieee80211_chan_bw_change()
688 for (link_id = 0; link_id < ARRAY_SIZE(sdata->link); link_id++) { in ieee80211_chan_bw_change()
690 rcu_dereference(sdata->link[link_id]); in ieee80211_chan_bw_change()
1076 struct ieee80211_sub_if_data *sdata = sta->sdata; in ieee80211_recalc_chanctx_chantype() local
1088 link = sdata_dereference(sdata->link[tdls_link_id], sdata); in ieee80211_recalc_chanctx_chantype()
1128 struct ieee80211_sub_if_data *sdata = link->sdata; in ieee80211_assign_link_chanctx() local
1129 struct ieee80211_local *local = sdata->local; in ieee80211_assign_link_chanctx()
1135 if (WARN_ON(sdata->vif.type == NL80211_IFTYPE_NAN)) in ieee80211_assign_link_chanctx()
1144 drv_unassign_vif_chanctx(local, sdata, link->conf, curr_ctx); in ieee80211_assign_link_chanctx()
1152 ret = drv_assign_vif_chanctx(local, sdata, link->conf, new_ctx); in ieee80211_assign_link_chanctx()
1193 if (new_idle != sdata->vif.cfg.idle) { in ieee80211_assign_link_chanctx()
1194 sdata->vif.cfg.idle = new_idle; in ieee80211_assign_link_chanctx()
1196 if (sdata->vif.type != NL80211_IFTYPE_P2P_DEVICE && in ieee80211_assign_link_chanctx()
1197 sdata->vif.type != NL80211_IFTYPE_MONITOR) in ieee80211_assign_link_chanctx()
1198 ieee80211_vif_cfg_change_notify(sdata, BSS_CHANGED_IDLE); in ieee80211_assign_link_chanctx()
1201 ieee80211_check_fast_xmit_iface(sdata); in ieee80211_assign_link_chanctx()
1210 struct ieee80211_sub_if_data *sdata; in ieee80211_recalc_smps_chanctx() local
1223 if (!iter.sdata->u.mgd.associated) in ieee80211_recalc_smps_chanctx()
1278 sdata = wiphy_dereference(local->hw.wiphy, local->monitor_sdata); in ieee80211_recalc_smps_chanctx()
1279 if (sdata && in ieee80211_recalc_smps_chanctx()
1280 rcu_access_pointer(sdata->vif.bss_conf.chanctx_conf) == &chanctx->conf) in ieee80211_recalc_smps_chanctx()
1296 struct ieee80211_sub_if_data *sdata = link->sdata; in __ieee80211_link_copy_chanctx_to_vlans() local
1299 struct ieee80211_local *local __maybe_unused = sdata->local; in __ieee80211_link_copy_chanctx_to_vlans()
1303 if (WARN_ON(sdata->vif.type != NL80211_IFTYPE_AP)) in __ieee80211_link_copy_chanctx_to_vlans()
1321 list_for_each_entry(vlan, &sdata->u.ap.vlans, u.vlan.list) { in __ieee80211_link_copy_chanctx_to_vlans()
1340 struct ieee80211_local *local = link->sdata->local; in ieee80211_link_copy_chanctx_to_vlans()
1349 struct ieee80211_sub_if_data *sdata = link->sdata; in ieee80211_link_unreserve_chanctx() local
1352 lockdep_assert_wiphy(sdata->local->hw.wiphy); in ieee80211_link_unreserve_chanctx()
1359 if (ieee80211_chanctx_refcount(sdata->local, ctx) == 0) { in ieee80211_link_unreserve_chanctx()
1375 ieee80211_free_chanctx(sdata->local, ctx, false); in ieee80211_link_unreserve_chanctx()
1489 struct ieee80211_sub_if_data *sdata = link->sdata; in ieee80211_link_reserve_chanctx() local
1490 struct ieee80211_local *local = sdata->local; in ieee80211_link_reserve_chanctx()
1504 sdata->wdev.radio_mask, in ieee80211_link_reserve_chanctx()
1526 struct ieee80211_sub_if_data *sdata = link->sdata; in ieee80211_link_chanctx_reservation_complete() local
1528 switch (sdata->vif.type) { in ieee80211_link_chanctx_reservation_complete()
1533 wiphy_work_queue(sdata->local->hw.wiphy, in ieee80211_link_chanctx_reservation_complete()
1537 wiphy_hrtimer_work_queue(sdata->local->hw.wiphy, in ieee80211_link_chanctx_reservation_complete()
1559 struct ieee80211_sub_if_data *sdata = link->sdata; in ieee80211_link_update_chanreq() local
1565 if (sdata->vif.type != NL80211_IFTYPE_AP) in ieee80211_link_update_chanreq()
1568 list_for_each_entry(vlan, &sdata->u.ap.vlans, u.vlan.list) { in ieee80211_link_update_chanreq()
1575 vlan_conf = wiphy_dereference(sdata->local->hw.wiphy, in ieee80211_link_update_chanreq()
1587 struct ieee80211_sub_if_data *sdata = link->sdata; in ieee80211_link_use_reserved_reassign() local
1589 struct ieee80211_local *local = sdata->local; in ieee80211_link_use_reserved_reassign()
1628 vif_chsw[0].vif = &sdata->vif; in ieee80211_link_use_reserved_reassign()
1647 if (sdata->vif.type == NL80211_IFTYPE_AP) in ieee80211_link_use_reserved_reassign()
1650 ieee80211_check_fast_xmit_iface(sdata); in ieee80211_link_use_reserved_reassign()
1660 ieee80211_link_info_change_notify(sdata, link, changed); in ieee80211_link_use_reserved_reassign()
1670 struct ieee80211_sub_if_data *sdata = link->sdata; in ieee80211_link_use_reserved_assign() local
1671 struct ieee80211_local *local = sdata->local; in ieee80211_link_use_reserved_assign()
1719 struct ieee80211_sub_if_data *sdata = link->sdata; in ieee80211_link_has_in_place_reservation() local
1722 lockdep_assert_wiphy(sdata->local->hw.wiphy); in ieee80211_link_has_in_place_reservation()
1772 vif_chsw[i].vif = &iter.sdata->vif; in ieee80211_chsw_switch_vifs()
1976 struct ieee80211_sub_if_data *sdata = iter.sdata; in ieee80211_vif_use_reserved_switch() local
1986 if (sdata->vif.type == NL80211_IFTYPE_AP) in ieee80211_vif_use_reserved_switch()
1990 ieee80211_check_fast_xmit_iface(sdata); in ieee80211_vif_use_reserved_switch()
1999 ieee80211_link_info_change_notify(sdata, in ieee80211_vif_use_reserved_switch()
2048 &link->sdata->wdev, in ieee80211_vif_use_reserved_switch()
2091 struct ieee80211_sub_if_data *sdata = link->sdata; in __ieee80211_link_release_channel() local
2093 struct ieee80211_local *local = sdata->local; in __ieee80211_link_release_channel()
2127 ieee80211_find_or_create_chanctx(struct ieee80211_sub_if_data *sdata, in ieee80211_find_or_create_chanctx() argument
2133 struct ieee80211_local *local = sdata->local; in ieee80211_find_or_create_chanctx()
2148 sdata->wdev.radio_mask, in ieee80211_find_or_create_chanctx()
2161 struct ieee80211_sub_if_data *sdata = link->sdata; in _ieee80211_link_use_channel() local
2162 struct ieee80211_local *local = sdata->local; in _ieee80211_link_use_channel()
2170 if (!ieee80211_vif_link_active(&sdata->vif, link->link_id)) { in _ieee80211_link_use_channel()
2177 sdata->wdev.iftype); in _ieee80211_link_use_channel()
2185 ret = ieee80211_check_combinations(sdata, &chanreq->oper, mode, in _ieee80211_link_use_channel()
2193 ctx = ieee80211_find_or_create_chanctx(sdata, chanreq, mode, in _ieee80211_link_use_channel()
2231 struct ieee80211_sub_if_data *sdata = link->sdata; in ieee80211_link_use_reserved_context() local
2232 struct ieee80211_local *local = sdata->local; in ieee80211_link_use_reserved_context()
2294 struct ieee80211_sub_if_data *sdata = link->sdata; in ieee80211_link_change_chanreq() local
2296 struct ieee80211_local *local = sdata->local; in ieee80211_link_change_chanreq()
2304 if (!cfg80211_chandef_usable(sdata->local->hw.wiphy, in ieee80211_link_change_chanreq()
2358 struct ieee80211_sub_if_data *sdata = link->sdata; in ieee80211_link_release_channel() local
2360 if (sdata->vif.type == NL80211_IFTYPE_AP_VLAN) in ieee80211_link_release_channel()
2363 lockdep_assert_wiphy(sdata->local->hw.wiphy); in ieee80211_link_release_channel()
2371 struct ieee80211_sub_if_data *sdata = link->sdata; in ieee80211_link_vlan_copy_chanctx() local
2375 struct ieee80211_local *local = sdata->local; in ieee80211_link_vlan_copy_chanctx()
2381 if (WARN_ON(sdata->vif.type != NL80211_IFTYPE_AP_VLAN || !sdata->bss)) in ieee80211_link_vlan_copy_chanctx()
2384 ap = container_of(sdata->bss, struct ieee80211_sub_if_data, u.ap); in ieee80211_link_vlan_copy_chanctx()