Lines Matching refs:sdata

56 		      struct ieee80211_sub_if_data *sdata)  in drv_add_interface()  argument
62 if (WARN_ON(sdata->vif.type == NL80211_IFTYPE_AP_VLAN || in drv_add_interface()
63 (sdata->vif.type == NL80211_IFTYPE_MONITOR && in drv_add_interface()
65 !(sdata->u.mntr.flags & MONITOR_FLAG_ACTIVE)))) in drv_add_interface()
68 trace_drv_add_interface(local, sdata); in drv_add_interface()
69 ret = local->ops->add_interface(&local->hw, &sdata->vif); in drv_add_interface()
73 sdata->flags |= IEEE80211_SDATA_IN_DRIVER; in drv_add_interface()
79 struct ieee80211_sub_if_data *sdata, in drv_change_interface() argument
86 if (!check_sdata_in_driver(sdata)) in drv_change_interface()
89 trace_drv_change_interface(local, sdata, type, p2p); in drv_change_interface()
90 ret = local->ops->change_interface(&local->hw, &sdata->vif, type, p2p); in drv_change_interface()
96 struct ieee80211_sub_if_data *sdata) in drv_remove_interface() argument
100 if (!check_sdata_in_driver(sdata)) in drv_remove_interface()
103 trace_drv_remove_interface(local, sdata); in drv_remove_interface()
104 local->ops->remove_interface(&local->hw, &sdata->vif); in drv_remove_interface()
105 sdata->flags &= ~IEEE80211_SDATA_IN_DRIVER; in drv_remove_interface()
111 struct ieee80211_sub_if_data *sdata, in drv_sta_state() argument
120 sdata = get_bss_sdata(sdata); in drv_sta_state()
121 if (!check_sdata_in_driver(sdata)) in drv_sta_state()
124 trace_drv_sta_state(local, sdata, &sta->sta, old_state, new_state); in drv_sta_state()
126 ret = local->ops->sta_state(&local->hw, &sdata->vif, &sta->sta, in drv_sta_state()
130 ret = drv_sta_add(local, sdata, &sta->sta); in drv_sta_state()
134 drv_sta_rate_tbl_update(local, sdata, &sta->sta); in drv_sta_state()
138 drv_sta_remove(local, sdata, &sta->sta); in drv_sta_state()
146 struct ieee80211_sub_if_data *sdata, in drv_sta_set_txpwr() argument
153 sdata = get_bss_sdata(sdata); in drv_sta_set_txpwr()
154 if (!check_sdata_in_driver(sdata)) in drv_sta_set_txpwr()
157 trace_drv_sta_set_txpwr(local, sdata, &sta->sta); in drv_sta_set_txpwr()
159 ret = local->ops->sta_set_txpwr(&local->hw, &sdata->vif, in drv_sta_set_txpwr()
166 struct ieee80211_sub_if_data *sdata, in drv_sta_rc_update() argument
169 sdata = get_bss_sdata(sdata); in drv_sta_rc_update()
170 if (!check_sdata_in_driver(sdata)) in drv_sta_rc_update()
174 (sdata->vif.type != NL80211_IFTYPE_ADHOC && in drv_sta_rc_update()
175 sdata->vif.type != NL80211_IFTYPE_MESH_POINT)); in drv_sta_rc_update()
177 trace_drv_sta_rc_update(local, sdata, sta, changed); in drv_sta_rc_update()
179 local->ops->sta_rc_update(&local->hw, &sdata->vif, in drv_sta_rc_update()
189 struct ieee80211_sub_if_data *sdata = link->sdata; in drv_conf_tx() local
194 if (!check_sdata_in_driver(sdata)) in drv_conf_tx()
197 if (sdata->vif.active_links && in drv_conf_tx()
198 !(sdata->vif.active_links & BIT(link->link_id))) in drv_conf_tx()
208 sdata->name, params->cw_min, params->cw_max); in drv_conf_tx()
212 trace_drv_conf_tx(local, sdata, link->link_id, ac, params); in drv_conf_tx()
214 ret = local->ops->conf_tx(&local->hw, &sdata->vif, in drv_conf_tx()
221 struct ieee80211_sub_if_data *sdata) in drv_get_tsf() argument
227 if (!check_sdata_in_driver(sdata)) in drv_get_tsf()
230 trace_drv_get_tsf(local, sdata); in drv_get_tsf()
232 ret = local->ops->get_tsf(&local->hw, &sdata->vif); in drv_get_tsf()
238 struct ieee80211_sub_if_data *sdata, in drv_set_tsf() argument
243 if (!check_sdata_in_driver(sdata)) in drv_set_tsf()
246 trace_drv_set_tsf(local, sdata, tsf); in drv_set_tsf()
248 local->ops->set_tsf(&local->hw, &sdata->vif, tsf); in drv_set_tsf()
253 struct ieee80211_sub_if_data *sdata, in drv_offset_tsf() argument
258 if (!check_sdata_in_driver(sdata)) in drv_offset_tsf()
261 trace_drv_offset_tsf(local, sdata, offset); in drv_offset_tsf()
263 local->ops->offset_tsf(&local->hw, &sdata->vif, offset); in drv_offset_tsf()
268 struct ieee80211_sub_if_data *sdata) in drv_reset_tsf() argument
272 if (!check_sdata_in_driver(sdata)) in drv_reset_tsf()
275 trace_drv_reset_tsf(local, sdata); in drv_reset_tsf()
277 local->ops->reset_tsf(&local->hw, &sdata->vif); in drv_reset_tsf()
282 struct ieee80211_sub_if_data *sdata, in drv_assign_vif_chanctx() argument
288 drv_verify_link_exists(sdata, link_conf); in drv_assign_vif_chanctx()
289 if (!check_sdata_in_driver(sdata)) in drv_assign_vif_chanctx()
292 if (sdata->vif.active_links && in drv_assign_vif_chanctx()
293 !(sdata->vif.active_links & BIT(link_conf->link_id))) in drv_assign_vif_chanctx()
296 trace_drv_assign_vif_chanctx(local, sdata, link_conf, ctx); in drv_assign_vif_chanctx()
300 &sdata->vif, in drv_assign_vif_chanctx()
310 struct ieee80211_sub_if_data *sdata, in drv_unassign_vif_chanctx() argument
316 drv_verify_link_exists(sdata, link_conf); in drv_unassign_vif_chanctx()
317 if (!check_sdata_in_driver(sdata)) in drv_unassign_vif_chanctx()
320 if (sdata->vif.active_links && in drv_unassign_vif_chanctx()
321 !(sdata->vif.active_links & BIT(link_conf->link_id))) in drv_unassign_vif_chanctx()
324 trace_drv_unassign_vif_chanctx(local, sdata, link_conf, ctx); in drv_unassign_vif_chanctx()
328 &sdata->vif, in drv_unassign_vif_chanctx()
389 struct ieee80211_sub_if_data *sdata, in drv_ampdu_action() argument
396 if (!sdata) in drv_ampdu_action()
399 sdata = get_bss_sdata(sdata); in drv_ampdu_action()
400 if (!check_sdata_in_driver(sdata)) in drv_ampdu_action()
403 trace_drv_ampdu_action(local, sdata, params); in drv_ampdu_action()
406 ret = local->ops->ampdu_action(&local->hw, &sdata->vif, params); in drv_ampdu_action()
414 struct ieee80211_sub_if_data *sdata, in drv_link_info_changed() argument
422 sdata->vif.type != NL80211_IFTYPE_AP && in drv_link_info_changed()
423 sdata->vif.type != NL80211_IFTYPE_ADHOC && in drv_link_info_changed()
424 sdata->vif.type != NL80211_IFTYPE_MESH_POINT && in drv_link_info_changed()
425 sdata->vif.type != NL80211_IFTYPE_OCB)) in drv_link_info_changed()
428 if (WARN_ON_ONCE(sdata->vif.type == NL80211_IFTYPE_P2P_DEVICE || in drv_link_info_changed()
429 sdata->vif.type == NL80211_IFTYPE_NAN || in drv_link_info_changed()
430 (sdata->vif.type == NL80211_IFTYPE_MONITOR && in drv_link_info_changed()
431 !sdata->vif.bss_conf.mu_mimo_owner && in drv_link_info_changed()
435 if (!check_sdata_in_driver(sdata)) in drv_link_info_changed()
438 if (sdata->vif.active_links && in drv_link_info_changed()
439 !(sdata->vif.active_links & BIT(link_id))) in drv_link_info_changed()
442 trace_drv_link_info_changed(local, sdata, info, changed); in drv_link_info_changed()
444 local->ops->link_info_changed(&local->hw, &sdata->vif, in drv_link_info_changed()
447 local->ops->bss_info_changed(&local->hw, &sdata->vif, in drv_link_info_changed()
454 struct ieee80211_sub_if_data *sdata, in drv_set_key() argument
462 sdata = get_bss_sdata(sdata); in drv_set_key()
463 if (!check_sdata_in_driver(sdata)) in drv_set_key()
466 if (WARN_ON(key->link_id >= 0 && sdata->vif.active_links && in drv_set_key()
467 !(sdata->vif.active_links & BIT(key->link_id)))) in drv_set_key()
470 trace_drv_set_key(local, cmd, sdata, sta, key); in drv_set_key()
471 ret = local->ops->set_key(&local->hw, cmd, &sdata->vif, sta, key); in drv_set_key()
477 struct ieee80211_sub_if_data *sdata, in drv_change_vif_links() argument
489 if (!check_sdata_in_driver(sdata)) in drv_change_vif_links()
499 link = rcu_access_pointer(sdata->link[link_id]); in drv_change_vif_links()
504 trace_drv_change_vif_links(local, sdata, old_links, new_links); in drv_change_vif_links()
506 ret = local->ops->change_vif_links(&local->hw, &sdata->vif, in drv_change_vif_links()
516 link = rcu_access_pointer(sdata->link[link_id]); in drv_change_vif_links()
526 struct ieee80211_sub_if_data *sdata, in drv_change_sta_links() argument
539 if (!check_sdata_in_driver(sdata)) in drv_change_sta_links()
542 old_links &= sdata->vif.active_links; in drv_change_sta_links()
543 new_links &= sdata->vif.active_links; in drv_change_sta_links()
558 trace_drv_change_sta_links(local, sdata, sta, old_links, new_links); in drv_change_sta_links()
560 ret = local->ops->change_sta_links(&local->hw, &sdata->vif, sta, in drv_change_sta_links()