Lines Matching refs:sdata
8 static inline bool check_sdata_in_driver(struct ieee80211_sub_if_data *sdata) in check_sdata_in_driver() argument
10 return !WARN(!(sdata->flags & IEEE80211_SDATA_IN_DRIVER), in check_sdata_in_driver()
12 sdata->dev ? sdata->dev->name : sdata->name, sdata->flags); in check_sdata_in_driver()
16 get_bss_sdata(struct ieee80211_sub_if_data *sdata) in get_bss_sdata() argument
18 if (sdata->vif.type == NL80211_IFTYPE_AP_VLAN) in get_bss_sdata()
19 sdata = container_of(sdata->bss, struct ieee80211_sub_if_data, in get_bss_sdata()
22 return sdata; in get_bss_sdata()
32 static inline void drv_get_et_strings(struct ieee80211_sub_if_data *sdata, in drv_get_et_strings() argument
35 struct ieee80211_local *local = sdata->local; in drv_get_et_strings()
38 local->ops->get_et_strings(&local->hw, &sdata->vif, sset, data); in drv_get_et_strings()
43 static inline void drv_get_et_stats(struct ieee80211_sub_if_data *sdata, in drv_get_et_stats() argument
47 struct ieee80211_local *local = sdata->local; in drv_get_et_stats()
50 local->ops->get_et_stats(&local->hw, &sdata->vif, stats, data); in drv_get_et_stats()
55 static inline int drv_get_et_sset_count(struct ieee80211_sub_if_data *sdata, in drv_get_et_sset_count() argument
58 struct ieee80211_local *local = sdata->local; in drv_get_et_sset_count()
62 rv = local->ops->get_et_sset_count(&local->hw, &sdata->vif, in drv_get_et_sset_count()
113 struct ieee80211_sub_if_data *sdata);
116 struct ieee80211_sub_if_data *sdata,
120 struct ieee80211_sub_if_data *sdata);
135 struct ieee80211_sub_if_data *sdata, in drv_bss_info_changed() argument
143 sdata->vif.type != NL80211_IFTYPE_AP && in drv_bss_info_changed()
144 sdata->vif.type != NL80211_IFTYPE_ADHOC && in drv_bss_info_changed()
145 sdata->vif.type != NL80211_IFTYPE_MESH_POINT && in drv_bss_info_changed()
146 sdata->vif.type != NL80211_IFTYPE_OCB)) in drv_bss_info_changed()
149 if (WARN_ON_ONCE(sdata->vif.type == NL80211_IFTYPE_P2P_DEVICE || in drv_bss_info_changed()
150 sdata->vif.type == NL80211_IFTYPE_MONITOR)) in drv_bss_info_changed()
153 if (!check_sdata_in_driver(sdata)) in drv_bss_info_changed()
156 trace_drv_bss_info_changed(local, sdata, info, changed); in drv_bss_info_changed()
158 local->ops->bss_info_changed(&local->hw, &sdata->vif, info, changed); in drv_bss_info_changed()
192 struct ieee80211_sub_if_data *sdata, in drv_config_iface_filter() argument
198 trace_drv_config_iface_filter(local, sdata, filter_flags, in drv_config_iface_filter()
201 local->ops->config_iface_filter(&local->hw, &sdata->vif, in drv_config_iface_filter()
220 struct ieee80211_sub_if_data *sdata, in drv_set_key() argument
228 sdata = get_bss_sdata(sdata); in drv_set_key()
229 if (!check_sdata_in_driver(sdata)) in drv_set_key()
232 trace_drv_set_key(local, cmd, sdata, sta, key); in drv_set_key()
233 ret = local->ops->set_key(&local->hw, cmd, &sdata->vif, sta, key); in drv_set_key()
239 struct ieee80211_sub_if_data *sdata, in drv_update_tkip_key() argument
249 sdata = get_bss_sdata(sdata); in drv_update_tkip_key()
250 if (!check_sdata_in_driver(sdata)) in drv_update_tkip_key()
253 trace_drv_update_tkip_key(local, sdata, conf, ista, iv32); in drv_update_tkip_key()
255 local->ops->update_tkip_key(&local->hw, &sdata->vif, conf, in drv_update_tkip_key()
261 struct ieee80211_sub_if_data *sdata, in drv_hw_scan() argument
268 if (!check_sdata_in_driver(sdata)) in drv_hw_scan()
271 trace_drv_hw_scan(local, sdata); in drv_hw_scan()
272 ret = local->ops->hw_scan(&local->hw, &sdata->vif, req); in drv_hw_scan()
278 struct ieee80211_sub_if_data *sdata) in drv_cancel_hw_scan() argument
282 if (!check_sdata_in_driver(sdata)) in drv_cancel_hw_scan()
285 trace_drv_cancel_hw_scan(local, sdata); in drv_cancel_hw_scan()
286 local->ops->cancel_hw_scan(&local->hw, &sdata->vif); in drv_cancel_hw_scan()
292 struct ieee80211_sub_if_data *sdata, in drv_sched_scan_start() argument
300 if (!check_sdata_in_driver(sdata)) in drv_sched_scan_start()
303 trace_drv_sched_scan_start(local, sdata); in drv_sched_scan_start()
304 ret = local->ops->sched_scan_start(&local->hw, &sdata->vif, in drv_sched_scan_start()
311 struct ieee80211_sub_if_data *sdata) in drv_sched_scan_stop() argument
317 if (!check_sdata_in_driver(sdata)) in drv_sched_scan_stop()
320 trace_drv_sched_scan_stop(local, sdata); in drv_sched_scan_stop()
321 ret = local->ops->sched_scan_stop(&local->hw, &sdata->vif); in drv_sched_scan_stop()
328 struct ieee80211_sub_if_data *sdata, in drv_sw_scan_start() argument
333 trace_drv_sw_scan_start(local, sdata, mac_addr); in drv_sw_scan_start()
335 local->ops->sw_scan_start(&local->hw, &sdata->vif, mac_addr); in drv_sw_scan_start()
340 struct ieee80211_sub_if_data *sdata) in drv_sw_scan_complete() argument
344 trace_drv_sw_scan_complete(local, sdata); in drv_sw_scan_complete()
346 local->ops->sw_scan_complete(&local->hw, &sdata->vif); in drv_sw_scan_complete()
418 struct ieee80211_sub_if_data *sdata, in drv_sta_notify() argument
422 sdata = get_bss_sdata(sdata); in drv_sta_notify()
423 if (!check_sdata_in_driver(sdata)) in drv_sta_notify()
426 trace_drv_sta_notify(local, sdata, cmd, sta); in drv_sta_notify()
428 local->ops->sta_notify(&local->hw, &sdata->vif, cmd, sta); in drv_sta_notify()
433 struct ieee80211_sub_if_data *sdata, in drv_sta_add() argument
440 sdata = get_bss_sdata(sdata); in drv_sta_add()
441 if (!check_sdata_in_driver(sdata)) in drv_sta_add()
444 trace_drv_sta_add(local, sdata, sta); in drv_sta_add()
446 ret = local->ops->sta_add(&local->hw, &sdata->vif, sta); in drv_sta_add()
454 struct ieee80211_sub_if_data *sdata, in drv_sta_remove() argument
459 sdata = get_bss_sdata(sdata); in drv_sta_remove()
460 if (!check_sdata_in_driver(sdata)) in drv_sta_remove()
463 trace_drv_sta_remove(local, sdata, sta); in drv_sta_remove()
465 local->ops->sta_remove(&local->hw, &sdata->vif, sta); in drv_sta_remove()
472 struct ieee80211_sub_if_data *sdata, in drv_sta_add_debugfs() argument
478 sdata = get_bss_sdata(sdata); in drv_sta_add_debugfs()
479 if (!check_sdata_in_driver(sdata)) in drv_sta_add_debugfs()
483 local->ops->sta_add_debugfs(&local->hw, &sdata->vif, in drv_sta_add_debugfs()
488 struct ieee80211_sub_if_data *sdata, in drv_sta_remove_debugfs() argument
494 sdata = get_bss_sdata(sdata); in drv_sta_remove_debugfs()
495 check_sdata_in_driver(sdata); in drv_sta_remove_debugfs()
498 local->ops->sta_remove_debugfs(&local->hw, &sdata->vif, in drv_sta_remove_debugfs()
504 struct ieee80211_sub_if_data *sdata, in drv_sta_pre_rcu_remove() argument
509 sdata = get_bss_sdata(sdata); in drv_sta_pre_rcu_remove()
510 if (!check_sdata_in_driver(sdata)) in drv_sta_pre_rcu_remove()
513 trace_drv_sta_pre_rcu_remove(local, sdata, &sta->sta); in drv_sta_pre_rcu_remove()
515 local->ops->sta_pre_rcu_remove(&local->hw, &sdata->vif, in drv_sta_pre_rcu_remove()
522 struct ieee80211_sub_if_data *sdata,
528 struct ieee80211_sub_if_data *sdata,
532 struct ieee80211_sub_if_data *sdata, in drv_sta_rate_tbl_update() argument
535 sdata = get_bss_sdata(sdata); in drv_sta_rate_tbl_update()
536 if (!check_sdata_in_driver(sdata)) in drv_sta_rate_tbl_update()
539 trace_drv_sta_rate_tbl_update(local, sdata, sta); in drv_sta_rate_tbl_update()
541 local->ops->sta_rate_tbl_update(&local->hw, &sdata->vif, sta); in drv_sta_rate_tbl_update()
547 struct ieee80211_sub_if_data *sdata, in drv_sta_statistics() argument
551 sdata = get_bss_sdata(sdata); in drv_sta_statistics()
552 if (!check_sdata_in_driver(sdata)) in drv_sta_statistics()
555 trace_drv_sta_statistics(local, sdata, sta); in drv_sta_statistics()
557 local->ops->sta_statistics(&local->hw, &sdata->vif, sta, sinfo); in drv_sta_statistics()
562 struct ieee80211_sub_if_data *sdata, u16 ac,
566 struct ieee80211_sub_if_data *sdata);
568 struct ieee80211_sub_if_data *sdata,
571 struct ieee80211_sub_if_data *sdata);
587 struct ieee80211_sub_if_data *sdata,
616 struct ieee80211_sub_if_data *sdata, in drv_flush() argument
619 struct ieee80211_vif *vif = sdata ? &sdata->vif : NULL; in drv_flush()
623 if (sdata && !check_sdata_in_driver(sdata)) in drv_flush()
633 struct ieee80211_sub_if_data *sdata, in drv_channel_switch() argument
638 trace_drv_channel_switch(local, sdata, ch_switch); in drv_channel_switch()
639 local->ops->channel_switch(&local->hw, &sdata->vif, ch_switch); in drv_channel_switch()
667 struct ieee80211_sub_if_data *sdata, in drv_remain_on_channel() argument
676 trace_drv_remain_on_channel(local, sdata, chan, duration, type); in drv_remain_on_channel()
677 ret = local->ops->remain_on_channel(&local->hw, &sdata->vif, in drv_remain_on_channel()
738 struct ieee80211_sub_if_data *sdata, in drv_set_bitrate_mask() argument
745 if (!check_sdata_in_driver(sdata)) in drv_set_bitrate_mask()
748 trace_drv_set_bitrate_mask(local, sdata, mask); in drv_set_bitrate_mask()
751 &sdata->vif, mask); in drv_set_bitrate_mask()
758 struct ieee80211_sub_if_data *sdata, in drv_set_rekey_data() argument
761 if (!check_sdata_in_driver(sdata)) in drv_set_rekey_data()
764 trace_drv_set_rekey_data(local, sdata, data); in drv_set_rekey_data()
766 local->ops->set_rekey_data(&local->hw, &sdata->vif, data); in drv_set_rekey_data()
771 struct ieee80211_sub_if_data *sdata, in drv_event_callback() argument
774 trace_drv_event_callback(local, sdata, event); in drv_event_callback()
776 local->ops->event_callback(&local->hw, &sdata->vif, event); in drv_event_callback()
811 struct ieee80211_sub_if_data *sdata) in drv_mgd_prepare_tx() argument
815 if (!check_sdata_in_driver(sdata)) in drv_mgd_prepare_tx()
817 WARN_ON_ONCE(sdata->vif.type != NL80211_IFTYPE_STATION); in drv_mgd_prepare_tx()
819 trace_drv_mgd_prepare_tx(local, sdata); in drv_mgd_prepare_tx()
821 local->ops->mgd_prepare_tx(&local->hw, &sdata->vif); in drv_mgd_prepare_tx()
827 struct ieee80211_sub_if_data *sdata) in drv_mgd_protect_tdls_discover() argument
831 if (!check_sdata_in_driver(sdata)) in drv_mgd_protect_tdls_discover()
833 WARN_ON_ONCE(sdata->vif.type != NL80211_IFTYPE_STATION); in drv_mgd_protect_tdls_discover()
835 trace_drv_mgd_protect_tdls_discover(local, sdata); in drv_mgd_protect_tdls_discover()
837 local->ops->mgd_protect_tdls_discover(&local->hw, &sdata->vif); in drv_mgd_protect_tdls_discover()
888 struct ieee80211_sub_if_data *sdata, in drv_assign_vif_chanctx() argument
893 if (!check_sdata_in_driver(sdata)) in drv_assign_vif_chanctx()
896 trace_drv_assign_vif_chanctx(local, sdata, ctx); in drv_assign_vif_chanctx()
900 &sdata->vif, in drv_assign_vif_chanctx()
909 struct ieee80211_sub_if_data *sdata, in drv_unassign_vif_chanctx() argument
914 if (!check_sdata_in_driver(sdata)) in drv_unassign_vif_chanctx()
917 trace_drv_unassign_vif_chanctx(local, sdata, ctx); in drv_unassign_vif_chanctx()
921 &sdata->vif, in drv_unassign_vif_chanctx()
932 struct ieee80211_sub_if_data *sdata) in drv_start_ap() argument
938 if (!check_sdata_in_driver(sdata)) in drv_start_ap()
941 trace_drv_start_ap(local, sdata, &sdata->vif.bss_conf); in drv_start_ap()
943 ret = local->ops->start_ap(&local->hw, &sdata->vif); in drv_start_ap()
949 struct ieee80211_sub_if_data *sdata) in drv_stop_ap() argument
951 if (!check_sdata_in_driver(sdata)) in drv_stop_ap()
954 trace_drv_stop_ap(local, sdata); in drv_stop_ap()
956 local->ops->stop_ap(&local->hw, &sdata->vif); in drv_stop_ap()
974 struct ieee80211_sub_if_data *sdata, in drv_set_default_unicast_key() argument
977 if (!check_sdata_in_driver(sdata)) in drv_set_default_unicast_key()
982 trace_drv_set_default_unicast_key(local, sdata, key_idx); in drv_set_default_unicast_key()
984 local->ops->set_default_unicast_key(&local->hw, &sdata->vif, in drv_set_default_unicast_key()
991 struct ieee80211_sub_if_data *sdata, in drv_ipv6_addr_change() argument
994 trace_drv_ipv6_addr_change(local, sdata); in drv_ipv6_addr_change()
996 local->ops->ipv6_addr_change(&local->hw, &sdata->vif, idev); in drv_ipv6_addr_change()
1002 drv_channel_switch_beacon(struct ieee80211_sub_if_data *sdata, in drv_channel_switch_beacon() argument
1005 struct ieee80211_local *local = sdata->local; in drv_channel_switch_beacon()
1008 trace_drv_channel_switch_beacon(local, sdata, chandef); in drv_channel_switch_beacon()
1009 local->ops->channel_switch_beacon(&local->hw, &sdata->vif, in drv_channel_switch_beacon()
1015 drv_pre_channel_switch(struct ieee80211_sub_if_data *sdata, in drv_pre_channel_switch() argument
1018 struct ieee80211_local *local = sdata->local; in drv_pre_channel_switch()
1021 if (!check_sdata_in_driver(sdata)) in drv_pre_channel_switch()
1024 trace_drv_pre_channel_switch(local, sdata, ch_switch); in drv_pre_channel_switch()
1026 ret = local->ops->pre_channel_switch(&local->hw, &sdata->vif, in drv_pre_channel_switch()
1033 drv_post_channel_switch(struct ieee80211_sub_if_data *sdata) in drv_post_channel_switch() argument
1035 struct ieee80211_local *local = sdata->local; in drv_post_channel_switch()
1038 if (!check_sdata_in_driver(sdata)) in drv_post_channel_switch()
1041 trace_drv_post_channel_switch(local, sdata); in drv_post_channel_switch()
1043 ret = local->ops->post_channel_switch(&local->hw, &sdata->vif); in drv_post_channel_switch()
1049 struct ieee80211_sub_if_data *sdata) in drv_join_ibss() argument
1054 if (!check_sdata_in_driver(sdata)) in drv_join_ibss()
1057 trace_drv_join_ibss(local, sdata, &sdata->vif.bss_conf); in drv_join_ibss()
1059 ret = local->ops->join_ibss(&local->hw, &sdata->vif); in drv_join_ibss()
1065 struct ieee80211_sub_if_data *sdata) in drv_leave_ibss() argument
1068 if (!check_sdata_in_driver(sdata)) in drv_leave_ibss()
1071 trace_drv_leave_ibss(local, sdata); in drv_leave_ibss()
1073 local->ops->leave_ibss(&local->hw, &sdata->vif); in drv_leave_ibss()
1091 struct ieee80211_sub_if_data *sdata, int *dbm) in drv_get_txpower() argument
1098 ret = local->ops->get_txpower(&local->hw, &sdata->vif, dbm); in drv_get_txpower()
1099 trace_drv_get_txpower(local, sdata, *dbm, ret); in drv_get_txpower()
1106 struct ieee80211_sub_if_data *sdata, in drv_tdls_channel_switch() argument
1114 if (!check_sdata_in_driver(sdata)) in drv_tdls_channel_switch()
1120 trace_drv_tdls_channel_switch(local, sdata, sta, oper_class, chandef); in drv_tdls_channel_switch()
1121 ret = local->ops->tdls_channel_switch(&local->hw, &sdata->vif, sta, in drv_tdls_channel_switch()
1130 struct ieee80211_sub_if_data *sdata, in drv_tdls_cancel_channel_switch() argument
1134 if (!check_sdata_in_driver(sdata)) in drv_tdls_cancel_channel_switch()
1140 trace_drv_tdls_cancel_channel_switch(local, sdata, sta); in drv_tdls_cancel_channel_switch()
1141 local->ops->tdls_cancel_channel_switch(&local->hw, &sdata->vif, sta); in drv_tdls_cancel_channel_switch()
1147 struct ieee80211_sub_if_data *sdata, in drv_tdls_recv_channel_switch() argument
1150 trace_drv_tdls_recv_channel_switch(local, sdata, params); in drv_tdls_recv_channel_switch()
1152 local->ops->tdls_recv_channel_switch(&local->hw, &sdata->vif, in drv_tdls_recv_channel_switch()
1160 struct ieee80211_sub_if_data *sdata = vif_to_sdata(txq->txq.vif); in drv_wake_tx_queue() local
1162 if (!check_sdata_in_driver(sdata)) in drv_wake_tx_queue()
1165 trace_drv_wake_tx_queue(local, sdata, txq); in drv_wake_tx_queue()