Lines Matching defs:sdata

224 static bool ieee80211_scan_accept_presp(struct ieee80211_sub_if_data *sdata,
228 if (!sdata)
239 return ether_addr_equal(da, sdata->vif.addr);
343 static bool ieee80211_prep_hw_scan(struct ieee80211_sub_if_data *sdata)
345 struct ieee80211_local *local = sdata->local;
392 ielen = ieee80211_build_preq_ies(sdata,
416 struct ieee80211_sub_if_data *sdata;
492 list_for_each_entry_rcu(sdata, &local->interfaces, list) {
493 if (ieee80211_sdata_running(sdata))
494 wiphy_work_queue(sdata->local->hw.wiphy, &sdata->work);
519 struct ieee80211_sub_if_data *sdata)
538 drv_sw_scan_start(local, sdata, local->scan_addr);
559 static bool __ieee80211_can_leave_ch(struct ieee80211_sub_if_data *sdata)
561 struct ieee80211_local *local = sdata->local;
583 struct ieee80211_sub_if_data *sdata)
585 if (!__ieee80211_can_leave_ch(sdata))
591 if (sdata->vif.type == NL80211_IFTYPE_STATION &&
592 sdata->u.mgd.flags & IEEE80211_STA_CONNECTION_POLL)
615 static void ieee80211_send_scan_probe_req(struct ieee80211_sub_if_data *sdata,
624 skb = ieee80211_build_probe_req(sdata, src, dst, ratemask, channel,
639 ieee80211_tx_skb_tid_band(sdata, skb, 7, channel->band);
647 struct ieee80211_sub_if_data *sdata;
663 sdata = rcu_dereference_protected(local->scan_sdata,
668 sdata, local->scan_addr, scan_req->bssid,
682 static int __ieee80211_start_scan(struct ieee80211_sub_if_data *sdata,
685 struct ieee80211_local *local = sdata->local;
694 if (!__ieee80211_can_leave_ch(sdata))
697 if (!ieee80211_can_scan(local, sdata)) {
700 rcu_assign_pointer(local->scan_sdata, sdata);
759 rcu_assign_pointer(local->scan_sdata, sdata);
766 memcpy(local->scan_addr, sdata->vif.addr, ETH_ALEN);
784 drv_sw_scan_start(local, sdata, local->scan_addr);
814 WARN_ON(!ieee80211_prep_hw_scan(sdata));
815 rc = drv_hw_scan(local, sdata, local->hw_scan_req);
817 rc = ieee80211_start_sw_scan(local, sdata);
836 if (ieee80211_vif_type_p2p(&sdata->vif) ==
864 struct ieee80211_sub_if_data *sdata;
875 list_for_each_entry(sdata, &local->interfaces, list) {
876 if (!ieee80211_sdata_running(sdata))
879 if (sdata->vif.type == NL80211_IFTYPE_STATION) {
880 if (sdata->u.mgd.associated) {
883 if (!qdisc_all_tx_empty(sdata->dev)) {
1055 struct ieee80211_sub_if_data *sdata;
1067 sdata = rcu_dereference_protected(local->scan_sdata,
1083 if (!sdata || !scan_req)
1092 rc = __ieee80211_start_scan(sdata, scan_req);
1109 if (!ieee80211_sdata_running(sdata)) {
1155 int ieee80211_request_scan(struct ieee80211_sub_if_data *sdata,
1160 mutex_lock(&sdata->local->mtx);
1161 res = __ieee80211_start_scan(sdata, req);
1162 mutex_unlock(&sdata->local->mtx);
1167 int ieee80211_request_ibss_scan(struct ieee80211_sub_if_data *sdata,
1173 struct ieee80211_local *local = sdata->local;
1232 ret = __ieee80211_start_scan(sdata, sdata->local->int_scan_req);
1297 int __ieee80211_request_sched_scan_start(struct ieee80211_sub_if_data *sdata,
1300 struct ieee80211_local *local = sdata->local;
1335 ieee80211_build_preq_ies(sdata, ie, num_bands * iebufsz,
1340 ret = drv_sched_scan_start(local, sdata, req, &sched_scan_ies);
1342 rcu_assign_pointer(local->sched_scan_sdata, sdata);
1358 int ieee80211_request_sched_scan_start(struct ieee80211_sub_if_data *sdata,
1361 struct ieee80211_local *local = sdata->local;
1371 ret = __ieee80211_request_sched_scan_start(sdata, req);