Lines Matching refs:sdata

313 	struct ieee80211_sub_if_data *sdata;  in __ieee80211_scan_completed()  local
378 list_for_each_entry_rcu(sdata, &local->interfaces, list) { in __ieee80211_scan_completed()
379 if (ieee80211_sdata_running(sdata)) in __ieee80211_scan_completed()
380 ieee80211_queue_work(&sdata->local->hw, &sdata->work); in __ieee80211_scan_completed()
401 struct ieee80211_sub_if_data *sdata) in ieee80211_start_sw_scan() argument
420 drv_sw_scan_start(local, sdata, local->scan_addr); in ieee80211_start_sw_scan()
443 struct ieee80211_sub_if_data *sdata) in ieee80211_can_scan() argument
451 if (sdata->vif.type == NL80211_IFTYPE_STATION && in ieee80211_can_scan()
452 sdata->u.mgd.flags & IEEE80211_STA_CONNECTION_POLL) in ieee80211_can_scan()
479 struct ieee80211_sub_if_data *sdata; in ieee80211_scan_state_send_probe() local
491 sdata = rcu_dereference_protected(local->scan_sdata, in ieee80211_scan_state_send_probe()
496 sdata, local->scan_addr, NULL, in ieee80211_scan_state_send_probe()
510 static int __ieee80211_start_scan(struct ieee80211_sub_if_data *sdata, in __ieee80211_start_scan() argument
513 struct ieee80211_local *local = sdata->local; in __ieee80211_start_scan()
521 if (!ieee80211_can_scan(local, sdata)) { in __ieee80211_start_scan()
524 rcu_assign_pointer(local->scan_sdata, sdata); in __ieee80211_start_scan()
574 rcu_assign_pointer(local->scan_sdata, sdata); in __ieee80211_start_scan()
581 memcpy(local->scan_addr, sdata->vif.addr, ETH_ALEN); in __ieee80211_start_scan()
599 drv_sw_scan_start(local, sdata, local->scan_addr); in __ieee80211_start_scan()
628 rc = drv_hw_scan(local, sdata, local->hw_scan_req); in __ieee80211_start_scan()
630 rc = ieee80211_start_sw_scan(local, sdata); in __ieee80211_start_scan()
665 struct ieee80211_sub_if_data *sdata; in ieee80211_scan_state_decision() local
676 list_for_each_entry(sdata, &local->interfaces, list) { in ieee80211_scan_state_decision()
677 if (!ieee80211_sdata_running(sdata)) in ieee80211_scan_state_decision()
680 if (sdata->vif.type == NL80211_IFTYPE_STATION) { in ieee80211_scan_state_decision()
681 if (sdata->u.mgd.associated) { in ieee80211_scan_state_decision()
684 if (!qdisc_all_tx_empty(sdata->dev)) { in ieee80211_scan_state_decision()
834 struct ieee80211_sub_if_data *sdata; in ieee80211_scan_work() local
846 sdata = rcu_dereference_protected(local->scan_sdata, in ieee80211_scan_work()
862 if (!sdata || !scan_req) in ieee80211_scan_work()
871 rc = __ieee80211_start_scan(sdata, scan_req); in ieee80211_scan_work()
886 if (!ieee80211_sdata_running(sdata)) { in ieee80211_scan_work()
927 int ieee80211_request_scan(struct ieee80211_sub_if_data *sdata, in ieee80211_request_scan() argument
932 mutex_lock(&sdata->local->mtx); in ieee80211_request_scan()
933 res = __ieee80211_start_scan(sdata, req); in ieee80211_request_scan()
934 mutex_unlock(&sdata->local->mtx); in ieee80211_request_scan()
939 int ieee80211_request_ibss_scan(struct ieee80211_sub_if_data *sdata, in ieee80211_request_ibss_scan() argument
945 struct ieee80211_local *local = sdata->local; in ieee80211_request_ibss_scan()
1003 ret = __ieee80211_start_scan(sdata, sdata->local->int_scan_req); in ieee80211_request_ibss_scan()
1072 int __ieee80211_request_sched_scan_start(struct ieee80211_sub_if_data *sdata, in __ieee80211_request_sched_scan_start() argument
1075 struct ieee80211_local *local = sdata->local; in __ieee80211_request_sched_scan_start()
1112 ret = drv_sched_scan_start(local, sdata, req, &sched_scan_ies); in __ieee80211_request_sched_scan_start()
1114 rcu_assign_pointer(local->sched_scan_sdata, sdata); in __ieee80211_request_sched_scan_start()
1130 int ieee80211_request_sched_scan_start(struct ieee80211_sub_if_data *sdata, in ieee80211_request_sched_scan_start() argument
1133 struct ieee80211_local *local = sdata->local; in ieee80211_request_sched_scan_start()
1143 ret = __ieee80211_request_sched_scan_start(sdata, req); in ieee80211_request_sched_scan_start()
1149 int ieee80211_request_sched_scan_stop(struct ieee80211_sub_if_data *sdata) in ieee80211_request_sched_scan_stop() argument
1151 struct ieee80211_local *local = sdata->local; in ieee80211_request_sched_scan_stop()
1165 ret = drv_sched_scan_stop(local, sdata); in ieee80211_request_sched_scan_stop()