Lines Matching refs:req
373 struct cfg80211_scan_request *req; in ieee80211_prep_hw_scan() local
380 req = rcu_dereference_protected(local->scan_req, in ieee80211_prep_hw_scan()
387 local->hw_scan_req->req.n_channels = req->n_channels; in ieee80211_prep_hw_scan()
389 for (i = 0; i < req->n_channels; i++) { in ieee80211_prep_hw_scan()
390 local->hw_scan_req->req.channels[i] = req->channels[i]; in ieee80211_prep_hw_scan()
391 bands_used |= BIT(req->channels[i]->band); in ieee80211_prep_hw_scan()
398 n_chans = &local->hw_scan_req->req.n_channels; in ieee80211_prep_hw_scan()
401 for (i = 0; i < req->n_channels; i++) { in ieee80211_prep_hw_scan()
402 if (req->channels[i]->band != in ieee80211_prep_hw_scan()
405 local->hw_scan_req->req.channels[(*n_chans)++] = in ieee80211_prep_hw_scan()
406 req->channels[i]; in ieee80211_prep_hw_scan()
408 bands_used |= BIT(req->channels[i]->band); in ieee80211_prep_hw_scan()
417 if (req->flags & NL80211_SCAN_FLAG_MIN_PREQ_CONTENT) in ieee80211_prep_hw_scan()
421 (u8 *)local->hw_scan_req->req.ie, in ieee80211_prep_hw_scan()
424 req->ie, req->ie_len, in ieee80211_prep_hw_scan()
425 bands_used, req->rates, &chandef, in ieee80211_prep_hw_scan()
429 local->hw_scan_req->req.ie_len = ielen; in ieee80211_prep_hw_scan()
430 local->hw_scan_req->req.no_cck = req->no_cck; in ieee80211_prep_hw_scan()
431 ether_addr_copy(local->hw_scan_req->req.mac_addr, req->mac_addr); in ieee80211_prep_hw_scan()
432 ether_addr_copy(local->hw_scan_req->req.mac_addr_mask, in ieee80211_prep_hw_scan()
433 req->mac_addr_mask); in ieee80211_prep_hw_scan()
434 ether_addr_copy(local->hw_scan_req->req.bssid, req->bssid); in ieee80211_prep_hw_scan()
590 struct cfg80211_scan_request *req) in __ieee80211_can_leave_ch() argument
598 if (!ieee80211_is_radar_required(local, req)) in __ieee80211_can_leave_ch()
615 struct cfg80211_scan_request *req) in ieee80211_can_scan() argument
617 if (!__ieee80211_can_leave_ch(sdata, req)) in ieee80211_can_scan()
632 struct cfg80211_scan_request *req; in ieee80211_run_deferred_scan() local
639 req = wiphy_dereference(local->hw.wiphy, local->scan_req); in ieee80211_run_deferred_scan()
644 req)) in ieee80211_run_deferred_scan()
723 struct cfg80211_scan_request *req) in __ieee80211_start_scan() argument
737 if (ieee80211_vif_is_mld(&sdata->vif) && req->tsf_report_link_id >= 0 && in __ieee80211_start_scan()
738 !(sdata->vif.active_links & BIT(req->tsf_report_link_id))) in __ieee80211_start_scan()
741 if (!__ieee80211_can_leave_ch(sdata, req)) in __ieee80211_start_scan()
744 if (!ieee80211_can_scan(local, sdata, req)) { in __ieee80211_start_scan()
746 rcu_assign_pointer(local->scan_req, req); in __ieee80211_start_scan()
755 local->hw_scan_ies_bufsize = local->scan_ies_len + req->ie_len; in __ieee80211_start_scan()
761 for (i = 0; i < req->n_channels; i++) { in __ieee80211_start_scan()
762 if (bands_counted & BIT(req->channels[i]->band)) in __ieee80211_start_scan()
764 bands_counted |= BIT(req->channels[i]->band); in __ieee80211_start_scan()
772 req.channels, in __ieee80211_start_scan()
773 req->n_channels) + in __ieee80211_start_scan()
779 local->hw_scan_req->req.ssids = req->ssids; in __ieee80211_start_scan()
780 local->hw_scan_req->req.n_ssids = req->n_ssids; in __ieee80211_start_scan()
784 local->hw_scan_req->req.n_channels = req->n_channels; in __ieee80211_start_scan()
788 req->n_channels * sizeof(req->channels[0]); in __ieee80211_start_scan()
789 local->hw_scan_req->req.ie = ies; in __ieee80211_start_scan()
790 local->hw_scan_req->req.flags = req->flags; in __ieee80211_start_scan()
791 eth_broadcast_addr(local->hw_scan_req->req.bssid); in __ieee80211_start_scan()
792 local->hw_scan_req->req.duration = req->duration; in __ieee80211_start_scan()
793 local->hw_scan_req->req.duration_mandatory = in __ieee80211_start_scan()
794 req->duration_mandatory; in __ieee80211_start_scan()
795 local->hw_scan_req->req.tsf_report_link_id = in __ieee80211_start_scan()
796 req->tsf_report_link_id; in __ieee80211_start_scan()
799 local->hw_scan_req->req.n_6ghz_params = req->n_6ghz_params; in __ieee80211_start_scan()
800 local->hw_scan_req->req.scan_6ghz_params = in __ieee80211_start_scan()
801 req->scan_6ghz_params; in __ieee80211_start_scan()
802 local->hw_scan_req->req.scan_6ghz = req->scan_6ghz; in __ieee80211_start_scan()
803 local->hw_scan_req->req.first_part = req->first_part; in __ieee80211_start_scan()
814 rcu_assign_pointer(local->scan_req, req); in __ieee80211_start_scan()
817 if (req->flags & NL80211_SCAN_FLAG_RANDOM_ADDR) in __ieee80211_start_scan()
819 req->mac_addr, in __ieee80211_start_scan()
820 req->mac_addr_mask); in __ieee80211_start_scan()
826 } else if ((req->n_channels == 1) && in __ieee80211_start_scan()
827 (req->channels[0] == local->hw.conf.chandef.chan)) { in __ieee80211_start_scan()
847 if ((req->channels[0]->flags & (IEEE80211_CHAN_NO_IR | in __ieee80211_start_scan()
849 !req->n_ssids) { in __ieee80211_start_scan()
851 if (req->n_ssids) in __ieee80211_start_scan()
1188 struct cfg80211_scan_request *req) in ieee80211_request_scan() argument
1192 return __ieee80211_start_scan(sdata, req); in ieee80211_request_scan()
1322 struct cfg80211_sched_scan_request *req) in __ieee80211_request_sched_scan_start() argument
1335 iebufsz = local->scan_ies_len + req->ie_len; in __ieee80211_request_sched_scan_start()
1348 if (req->flags & NL80211_SCAN_FLAG_MIN_PREQ_CONTENT) in __ieee80211_request_sched_scan_start()
1360 &sched_scan_ies, req->ie, in __ieee80211_request_sched_scan_start()
1361 req->ie_len, bands_used, rate_masks, in __ieee80211_request_sched_scan_start()
1366 ret = drv_sched_scan_start(local, sdata, req, &sched_scan_ies); in __ieee80211_request_sched_scan_start()
1369 rcu_assign_pointer(local->sched_scan_req, req); in __ieee80211_request_sched_scan_start()
1385 struct cfg80211_sched_scan_request *req) in ieee80211_request_sched_scan_start() argument
1394 return __ieee80211_request_sched_scan_start(sdata, req); in ieee80211_request_sched_scan_start()