Lines Matching defs:freq

118 static int wpas_p2p_join_start(struct wpa_supplicant *wpa_s, int freq,
120 static void wpas_p2p_join_scan_req(struct wpa_supplicant *wpa_s, int freq,
125 int auto_join, int freq,
148 static int wpas_p2p_go_is_peer_freq(struct wpa_supplicant *wpa_s, int freq);
202 if (p2p_supported_freq(wpa_s->global->p2p, freqs[i].freq))
215 int freq)
224 freq > 0 && wpa_s->num_multichan_concurrent > 1 &&
227 freq);
228 freq = 0;
230 p2p_set_own_freq_preference(wpa_s->global->p2p, freq);
274 bss->freq, &entry_ts, bss->level,
317 int freq)
320 (freq == 2412 || freq == 2437 || freq == 2462)) {
328 return p2p_supported_freq(wpa_s->global->p2p, freq);
332 static int wpas_p2p_scan(void *ctx, enum p2p_scan_type type, int freq,
414 params->freqs[0] = freq;
428 if (p2p_supported_freq(wpa_s->global->p2p, freq))
429 params->freqs[num_channels++] = freq;
1219 int go, struct wpa_ssid *ssid, int freq,
1246 "%s %s ssid=\"%s\" freq=%d%s%s%s%s%s go_dev_addr="
1248 wpa_s->ifname, go ? "GO" : "client", ssid_txt, freq,
1256 "%s %s ssid=\"%s\" freq=%d go_dev_addr=" MACSTR "%s%s",
1257 wpa_s->ifname, go ? "GO" : "client", ssid_txt, freq,
1361 unsigned int freq;
1414 unsigned int freq,
1440 p2p_send_action_cb(wpa_s->global->p2p, freq, dst, src, bssid, res);
1475 if (offchannel_send_action(wpa_s, awork->freq, awork->dst, awork->src,
1488 unsigned int freq, const u8 *dst,
1503 awork->freq = freq;
1511 if (radio_add_work(wpa_s, freq, "p2p-send-action", 0,
1521 static int wpas_send_action(void *ctx, unsigned int freq, const u8 *dst,
1529 listen_freq = wpa_s->p2p_listen_work->freq;
1531 send_freq = wpa_s->p2p_send_action_work->freq;
1532 if (listen_freq != (int) freq && send_freq != (int) freq) {
1535 return wpas_send_action_work(wpa_s, freq, dst, src, bssid, buf,
1540 return offchannel_send_action(wpa_s, freq, dst, src, bssid, buf, len,
1659 wpa_dbg(wpa_s, MSG_DEBUG, "freq[%u]: %d",
1828 ssid->frequency = params->freq;
1841 if (params->freq > 56160) {
2125 wpa_drv_set_prob_oper_freq(wpa_s, res->freq);
2134 "freq=%d ht40=%d peer_dev=" MACSTR " peer_iface=" MACSTR
2136 res->role_go ? "GO" : "client", res->freq, res->ht40,
2317 unsigned int freq;
2372 wpa_s->pending_listen_freq = lwork->freq;
2384 if (wpa_drv_remain_on_channel(wpa_s, lwork->freq, duration) < 0) {
2387 "state", lwork->freq);
2393 wpa_s->roc_waiting_drv_freq = lwork->freq;
2397 static int wpas_start_listen(void *ctx, unsigned int freq,
2412 lwork->freq = freq;
2422 if (radio_add_work(wpa_s, freq, "p2p-listen", 0, wpas_start_listen_cb,
2454 unsigned int freq)
2458 freq);
2631 unsigned int freq)
2633 if ((channels == NULL || p2p_channels_includes_freq(channels, freq)) &&
2634 wpas_p2p_go_is_peer_freq(wpa_s, freq))
2670 static int wpas_p2p_go_is_peer_freq(struct wpa_supplicant *wpa_s, int freq)
2681 if (wpa_s->p2p_group_common_freqs[i] == freq)
2697 /* find a candidate freq that is supported by P2P */
2699 if (p2p_supported_freq(wpa_s->global->p2p, freqs[c].freq))
2707 if (!p2p_supported_freq(wpa_s->global->p2p, freqs[i].freq))
2723 return freqs[c].freq;
2863 wpa_printf(MSG_DEBUG, "P2P: Forced GO freq %d MHz not "
2937 "sa=" MACSTR " persistent=%d freq=%d",
3015 int freq;
3073 freq = neg_freq;
3076 freq = peer_oper_freq;
3078 freq = 0;
3081 freq, wpa_ssid_txt(ssid->ssid, ssid->ssid_len));
3085 freq,
3095 unsigned int freq)
3097 if (freq_range_list_includes(&global->p2p_go_avoid_freq, freq))
3099 return freq_range_list_includes(&global->p2p_disallow_freq, freq);
3195 unsigned int freq;
3197 freq = (mode->mode == HOSTAPD_MODE_IEEE80211A ? 5000 : 2407) +
3199 if (wpas_p2p_disallowed_freq(global, freq))
4425 static int wpas_check_freq_conflict(struct wpa_supplicant *wpa_s, int freq)
4445 if (freqs[i].freq == freq) {
4447 freq);
4492 int freq;
4516 freq = bss->freq;
4522 freq);
4523 wpas_p2p_join_scan_req(wpa_s, freq, NULL, 0);
4579 freq = p2p_get_oper_freq(wpa_s->global->p2p,
4581 if (freq < 0 &&
4595 freq = p2p_get_oper_freq(wpa_s->global->p2p,
4598 if (freq >= 0) {
4600 "from P2P peer table: %d MHz", freq);
4621 freq = bss->freq;
4623 "from BSS table: %d MHz (SSID %s)", freq,
4639 if (freq > 0) {
4642 if (wpas_check_freq_conflict(wpa_s, freq) > 0) {
4653 " freq=%u MHz)",
4654 MAC2STR(wpa_s->pending_join_dev_addr), freq);
4693 freq, wpa_s->user_initiated_pd) < 0) {
4715 static void wpas_p2p_join_scan_req(struct wpa_supplicant *wpa_s, int freq,
4764 if (!freq) {
4767 * If freq is not provided, check the operating freq of the GO
4773 freq = oper_freq;
4775 if (freq > 0) {
4776 freqs[0] = freq;
4839 static int wpas_p2p_join_start(struct wpa_supplicant *wpa_s, int freq,
4872 if (freq && ssid && ssid_len) {
4873 res.freq = freq;
4880 res.freq = bss->freq;
4884 bss->freq,
4911 static int wpas_p2p_setup_freqs(struct wpa_supplicant *wpa_s, int freq,
4939 "P2P: Setup freqs: freq=%d num_MCC=%d shared_freqs=%u num_unused=%d",
4940 freq, wpa_s->num_multichan_concurrent, num, num_unused);
4942 if (freq > 0) {
4945 ret = p2p_supported_freq(wpa_s->global->p2p, freq);
4947 ret = p2p_supported_freq_cli(wpa_s->global->p2p, freq);
4950 ieee80211_is_dfs(freq)) {
4952 * If freq is a DFS channel and DFS is offloaded
4957 freq);
4961 freq);
4968 if (freqs[i].freq == freq)
4974 freq);
4979 "requested channel (%u MHz)", freq);
4980 *force_freq = freq;
5069 * @freq: Frequency for the group or 0 for auto-selection
5083 int go_intent, int freq, int persistent_id, int pd,
5120 wpa_s->p2p_connect_freq = freq;
5164 auto_join, freq, NULL, 0) < 0)
5170 res = wpas_p2p_setup_freqs(wpa_s, freq, &force_freq, &pref_freq,
5221 * @freq: Frequency of the channel in MHz
5228 unsigned int freq, unsigned int duration)
5232 wpa_printf(MSG_DEBUG, "P2P: remain-on-channel callback (off_channel_freq=%u pending_listen_freq=%d roc_waiting_drv_freq=%d freq=%u duration=%u)",
5234 wpa_s->roc_waiting_drv_freq, freq, duration);
5241 wpa_printf(MSG_DEBUG, "P2P: Ignore remain-on-channel callback (off_channel_freq=%u pending_listen_freq=%d freq=%u duration=%u)",
5243 freq, duration);
5261 * @freq: Frequency of the channel in MHz
5268 unsigned int freq)
5278 if (p2p_listen_end(wpa_s->global->p2p, freq) > 0)
5337 static int wpas_p2p_select_go_freq(struct wpa_supplicant *wpa_s, int freq)
5341 if (!wpa_s->conf->num_p2p_pref_chan && !freq) {
5359 freq = pref_freq_list[i];
5362 i, freq);
5373 if (freq == 2) {
5379 freq = wpa_s->best_24_freq;
5381 "channel: %d MHz", freq);
5385 freq = 2412 + (r % 3) * 25;
5387 "channel: %d MHz", freq);
5391 if (freq == 5) {
5397 freq = wpa_s->best_5_freq;
5399 "channel: %d MHz", freq);
5403 freq = 5180 + (r % 4) * 20;
5404 if (!p2p_supported_freq_go(wpa_s->global->p2p, freq)) {
5410 "channel: %d MHz", freq);
5414 if (freq > 0 && !p2p_supported_freq_go(wpa_s->global->p2p, freq)) {
5416 ieee80211_is_dfs(freq)) {
5418 * If freq is a DFS channel and DFS is offloaded to the
5423 __func__, freq);
5424 return freq;
5428 freq);
5432 return freq;
5438 int freq)
5440 if (!wpas_p2p_disallowed_freq(wpa_s->global, freq) &&
5441 p2p_supported_freq_go(wpa_s->global->p2p, freq) &&
5442 freq_included(wpa_s, channels, freq))
5459 params->freq = 2412 + ((r + i) % 3) * 25;
5460 if (wpas_p2p_supported_freq_go(wpa_s, channels, params->freq))
5466 params->freq = 2412 + i * 5;
5469 if (params->freq == 2412 ||
5470 params->freq == 2437 ||
5471 params->freq == 2462)
5474 if (wpas_p2p_supported_freq_go(wpa_s, channels, params->freq))
5480 params->freq = 5180 + i * 20;
5481 if (!wpas_p2p_disallowed_freq(wpa_s->global, params->freq) &&
5482 freq_included(wpa_s, channels, params->freq) &&
5483 p2p_supported_freq(wpa_s->global->p2p, params->freq))
5489 params->freq = 5745 + i * 20;
5490 if (!wpas_p2p_disallowed_freq(wpa_s->global, params->freq) &&
5491 freq_included(wpa_s, channels, params->freq) &&
5492 p2p_supported_freq(wpa_s->global->p2p, params->freq))
5497 params->freq = 58320 + 1 * 2160;
5498 if (!wpas_p2p_disallowed_freq(wpa_s->global, params->freq) &&
5499 freq_included(wpa_s, channels, params->freq) &&
5500 p2p_supported_freq(wpa_s->global->p2p, params->freq))
5505 params->freq = 58320 + i * 2160;
5506 if (!wpas_p2p_disallowed_freq(wpa_s->global, params->freq) &&
5507 freq_included(wpa_s, channels, params->freq) &&
5508 p2p_supported_freq(wpa_s->global->p2p, params->freq))
5512 params->freq = 0;
5516 wpa_printf(MSG_DEBUG, "P2P: Set GO freq %d MHz (no preference known)",
5517 params->freq);
5523 int freq, int ht40, int vht,
5547 /* try using the forced freq */
5548 if (freq) {
5549 if (!wpas_p2p_supported_freq_go(wpa_s, channels, freq)) {
5551 "P2P: Forced GO freq %d MHz not accepted",
5552 freq);
5557 if (freqs[i].freq == freq) {
5559 "P2P: forced freq (%d MHz) is also shared",
5560 freq);
5561 params->freq = freq;
5568 "P2P: Cannot force GO on freq (%d MHz) as all the channels are in use",
5569 freq);
5574 "P2P: force GO freq (%d MHz) on a free channel",
5575 freq);
5576 params->freq = freq;
5585 "P2P: Use shared freq (%d MHz) for GO",
5586 freq);
5587 params->freq = cand;
5594 freqs[i].freq)) {
5596 "P2P: Use shared freq (%d MHz) for GO",
5597 freq);
5598 params->freq = freqs[i].freq;
5617 params->freq = 2407 + 5 * wpa_s->conf->p2p_oper_channel;
5618 wpa_printf(MSG_DEBUG, "P2P: Set GO freq based on configured "
5619 "frequency %d MHz", params->freq);
5633 params->freq = 5000 + 5 * wpa_s->conf->p2p_oper_channel;
5634 wpa_printf(MSG_DEBUG, "P2P: Set GO freq based on configured "
5635 "frequency %d MHz", params->freq);
5644 params->freq = wpa_s->best_overall_freq;
5645 wpa_printf(MSG_DEBUG, "P2P: Set GO freq based on best overall "
5646 "channel %d MHz", params->freq);
5654 params->freq = wpa_s->best_24_freq;
5655 wpa_printf(MSG_DEBUG, "P2P: Set GO freq based on best 2.4 GHz "
5656 "channel %d MHz", params->freq);
5664 params->freq = wpa_s->best_5_freq;
5665 wpa_printf(MSG_DEBUG, "P2P: Set GO freq based on best 5 GHz "
5666 "channel %d MHz", params->freq);
5673 params->freq = cand;
5674 wpa_printf(MSG_DEBUG, "P2P: Set GO freq %d MHz from preferred "
5675 "channels", params->freq);
5684 params->freq = cand;
5686 "P2P: Use freq %d MHz common with the peer",
5687 params->freq);
5696 if (params->freq == 0) {
5697 wpa_printf(MSG_DEBUG, "P2P: did not find a freq for GO use");
5748 * @freq: Frequency for the group or 0 to indicate no hardcoding
5757 int freq, int ht40, int vht)
5771 freq = wpas_p2p_select_go_freq(wpa_s, freq);
5772 if (freq < 0)
5775 if (wpas_p2p_init_go_params(wpa_s, &params, freq, ht40, vht, NULL))
5777 if (params.freq &&
5778 !p2p_supported_freq_go(wpa_s->global->p2p, params.freq)) {
5780 ieee80211_is_dfs(params.freq)) {
5782 * If freq is a DFS channel and DFS is offloaded to the
5787 __func__, params.freq);
5791 params.freq);
5809 int freq, int force_scan)
5850 wpa_s->p2p_invite_go_freq = freq;
5870 int go = 0, freq;
5909 freq = wpas_p2p_select_go_freq(wpa_s, force_freq);
5910 if (freq < 0)
5913 freq = wpas_p2p_select_go_freq(wpa_s, neg_freq);
5914 if (freq < 0 ||
5915 (freq > 0 && !freq_included(wpa_s, channels, freq)))
5916 freq = 0;
5919 freq = neg_freq;
5920 if (freq <= 0 || !freq_included(wpa_s, channels, freq)) {
5928 freq_included(wpa_s, channels, bss->freq))
5929 freq = bss->freq;
5931 freq = 0;
5934 return wpas_start_p2p_client(wpa_s, ssid, addr_allocated, freq,
5940 if (wpas_p2p_init_go_params(wpa_s, &params, freq, ht40, vht, channels))
6041 cfg->freq = ssid->frequency;
6244 u8 seek_cnt, const char **seek_string, int freq)
6257 search_delay, seek_cnt, seek_string, freq);
6414 u8 category, const u8 *data, size_t len, int freq)
6422 freq);
6462 struct wpa_ssid *ssid, const u8 *go_dev_addr, int freq,
6478 wpa_s->p2p_persistent_go_freq = freq;
6505 res = wpas_p2p_setup_freqs(wpa_s, freq, &force_freq, &pref_freq,
6545 int freq = 0, force_freq = 0, pref_freq = 0;
6579 freq = ssid->frequency;
6591 freq = wpa_s->current_bss ? wpa_s->current_bss->freq :
6600 res = wpas_p2p_setup_freqs(wpa_s, freq, &force_freq, &pref_freq,
6619 int freq;
6643 freq = wpa_s->current_bss ? wpa_s->current_bss->freq :
6660 wpas_p2p_group_started(wpa_s, 0, ssid, freq,
7764 int wpas_p2p_handle_frequency_conflicts(struct wpa_supplicant *wpa_s, int freq,
7771 iface->current_ssid->frequency == freq ||
8003 "connection handover (freq=%d)",
8198 "peer=" MACSTR " freq=%d go_dev_addr=" MACSTR
8207 "peer=" MACSTR " freq=%d",
8315 wpa_printf(MSG_DEBUG, "NFC: Forced freq %d", forced_freq);
8455 ieee80211_freq_to_chan(freqs[i].freq, &chan);
8494 wpa_dbg(wpa_s, MSG_DEBUG, "P2P: Move GO from freq=%d MHz",
8504 wpa_dbg(wpa_s, MSG_DEBUG, "P2P: Failed to reselect freq");
8509 wpa_dbg(wpa_s, MSG_DEBUG, "P2P: New freq selected for the GO (%u MHz)",
8510 params.freq);
8512 if (params.freq &&
8513 !p2p_supported_freq_go(wpa_s->global->p2p, params.freq)) {
8515 "P2P: Selected freq (%u MHz) is not valid for P2P",
8516 params.freq);
8523 current_ssid->frequency = params.freq;
8586 int freq;
8590 freq = wpa_s->current_ssid->frequency;
8592 if (freqs[i].freq == freq) {
8596 if (!p2p_supported_freq_go(wpa_s->global->p2p, freq)) {
8599 freq);
8606 freqs[i].freq)) {
8614 wpas_p2p_go_is_peer_freq(wpa_s, freqs[i].freq)) {
8629 "P2P: Cancel a GO move from freq=%d MHz", freq);
8650 if (invalid_freq && !wpas_p2p_disallowed_freq(wpa_s->global, freq))
8655 wpa_dbg(wpa_s, MSG_DEBUG, "P2P: Move GO from freq=%d MHz in %d secs",
8656 freq, timeout);