Lines Matching refs:request
785 static void cfg80211_scan_req_add_chan(struct cfg80211_scan_request *request, in cfg80211_scan_req_add_chan() argument
790 u32 n_channels = request->n_channels; in cfg80211_scan_req_add_chan()
792 &request->scan_6ghz_params[request->n_6ghz_params]; in cfg80211_scan_req_add_chan()
795 if (request->channels[i] == chan) { in cfg80211_scan_req_add_chan()
802 request->n_channels++; in cfg80211_scan_req_add_chan()
803 request->channels[n_channels] = chan; in cfg80211_scan_req_add_chan()
805 request->scan_6ghz_params[request->n_6ghz_params].channel_idx = in cfg80211_scan_req_add_chan()
810 struct cfg80211_scan_request *request) in cfg80211_find_ssid_match() argument
815 for (i = 0; i < request->n_ssids; i++) { in cfg80211_find_ssid_match()
817 if (!request->ssids[i].ssid_len) { in cfg80211_find_ssid_match()
825 ap->ssid_len == request->ssids[i].ssid_len) { in cfg80211_find_ssid_match()
826 if (!memcmp(request->ssids[i].ssid, ap->ssid, in cfg80211_find_ssid_match()
830 s_ssid = ~crc32_le(~0, request->ssids[i].ssid, in cfg80211_find_ssid_match()
831 request->ssids[i].ssid_len); in cfg80211_find_ssid_match()
847 struct cfg80211_scan_request_int *request, *rdev_req = rdev->scan_req; in cfg80211_scan_6ghz() local
916 size = struct_size(request, req.channels, n_channels); in cfg80211_scan_6ghz()
918 size += sizeof(*request->req.ssids) * rdev_req->req.n_ssids; in cfg80211_scan_6ghz()
920 size += sizeof(*request->req.scan_6ghz_params) * count; in cfg80211_scan_6ghz()
924 request = kzalloc(size, GFP_KERNEL); in cfg80211_scan_6ghz()
925 if (!request) { in cfg80211_scan_6ghz()
930 *request = *rdev_req; in cfg80211_scan_6ghz()
931 request->req.n_channels = 0; in cfg80211_scan_6ghz()
932 request->req.n_6ghz_params = 0; in cfg80211_scan_6ghz()
940 request->req.ssids = (void *)request + offs_ssids; in cfg80211_scan_6ghz()
941 memcpy(request->req.ssids, rdev_req->req.ssids, in cfg80211_scan_6ghz()
942 sizeof(*request->req.ssids) * request->req.n_ssids); in cfg80211_scan_6ghz()
944 request->req.scan_6ghz_params = (void *)request + offs_6ghz_params; in cfg80211_scan_6ghz()
947 void *ie = (void *)request + offs_ies; in cfg80211_scan_6ghz()
950 request->req.ie = ie; in cfg80211_scan_6ghz()
959 request->req.n_ssids == 1 && in cfg80211_scan_6ghz()
960 request->req.ssids[0].ssid_len) { in cfg80211_scan_6ghz()
963 cfg80211_find_ssid_match(ap, &request->req)) { in cfg80211_scan_6ghz()
980 cfg80211_scan_req_add_chan(&request->req, in cfg80211_scan_6ghz()
992 &request->req.scan_6ghz_params[request->req.n_6ghz_params]; in cfg80211_scan_6ghz()
1008 if (request->req.n_ssids > 0 && in cfg80211_scan_6ghz()
1009 !cfg80211_find_ssid_match(ap, &request->req)) in cfg80211_scan_6ghz()
1012 if (!is_broadcast_ether_addr(request->req.bssid) && in cfg80211_scan_6ghz()
1013 !ether_addr_equal(request->req.bssid, ap->bssid)) in cfg80211_scan_6ghz()
1016 if (!request->req.n_ssids && ap->multi_bss && in cfg80211_scan_6ghz()
1020 cfg80211_scan_req_add_chan(&request->req, chan, true); in cfg80211_scan_6ghz()
1036 request->req.n_6ghz_params++; in cfg80211_scan_6ghz()
1042 if (request->req.n_channels) { in cfg80211_scan_6ghz()
1045 rdev->int_scan_req = request; in cfg80211_scan_6ghz()
1054 err = rdev_scan(rdev, request); in cfg80211_scan_6ghz()
1057 kfree(request); in cfg80211_scan_6ghz()
1065 kfree(request); in cfg80211_scan_6ghz()
1071 struct cfg80211_scan_request_int *request; in cfg80211_scan() local
1088 request = kzalloc(struct_size(request, req.channels, n_channels), in cfg80211_scan()
1090 if (!request) in cfg80211_scan()
1093 *request = *rdev_req; in cfg80211_scan()
1094 request->req.n_channels = n_channels; in cfg80211_scan()
1098 request->req.channels[idx++] = in cfg80211_scan()
1104 rdev->int_scan_req = request; in cfg80211_scan()
1105 return rdev_scan(rdev, request); in cfg80211_scan()
1111 struct cfg80211_scan_request_int *request, *rdev_req; in ___cfg80211_scan_done() local
1131 request = rdev->int_scan_req ? rdev->int_scan_req : rdev_req; in ___cfg80211_scan_done()
1135 !rdev_req->req.scan_6ghz && !request->info.aborted && in ___cfg80211_scan_done()
1147 if (!request->info.aborted && in ___cfg80211_scan_done()
1148 request->req.flags & NL80211_SCAN_FLAG_FLUSH) { in ___cfg80211_scan_done()
1151 __cfg80211_bss_expire(rdev, request->req.scan_start); in ___cfg80211_scan_done()
1155 msg = nl80211_build_scan_msg(rdev, wdev, request->info.aborted); in ___cfg80211_scan_done()
1158 if (wdev->netdev && !request->info.aborted) { in ___cfg80211_scan_done()
1184 void cfg80211_scan_done(struct cfg80211_scan_request *request, in cfg80211_scan_done() argument
1188 container_of(request, struct cfg80211_scan_request_int, req); in cfg80211_scan_done()
1189 struct cfg80211_registered_device *rdev = wiphy_to_rdev(request->wiphy); in cfg80211_scan_done()
1203 if (request->scan_6ghz && old_info.scan_start_tsf) { in cfg80211_scan_done()
1210 wiphy_work_queue(request->wiphy, &rdev->scan_done_wk); in cfg80211_scan_done()
1306 struct cfg80211_sched_scan_request *request; in cfg80211_sched_scan_results() local
1312 request = cfg80211_find_sched_scan_req(rdev, reqid); in cfg80211_sched_scan_results()
1313 if (request) { in cfg80211_sched_scan_results()
1314 request->report_results = true; in cfg80211_sched_scan_results()