Lines Matching refs:chan

76 static int dfs_channel_available(struct hostapd_channel_data *chan,  in dfs_channel_available()  argument
83 if ((chan->flag & HOSTAPD_CHAN_RADAR) && in dfs_channel_available()
84 (chan->flag & HOSTAPD_CHAN_DFS_MASK) == in dfs_channel_available()
95 if (type == DFS_AVAILABLE && (chan->flag & HOSTAPD_CHAN_RADAR) && in dfs_channel_available()
96 ((chan->flag & HOSTAPD_CHAN_DFS_MASK) != in dfs_channel_available()
100 if (chan->flag & HOSTAPD_CHAN_DISABLED) in dfs_channel_available()
102 if ((chan->flag & HOSTAPD_CHAN_RADAR) && in dfs_channel_available()
103 ((chan->flag & HOSTAPD_CHAN_DFS_MASK) == in dfs_channel_available()
110 static int dfs_is_chan_allowed(struct hostapd_channel_data *chan, int n_chans) in dfs_is_chan_allowed() argument
150 if (chan->chan == allowed[i]) in dfs_is_chan_allowed()
176 struct hostapd_channel_data *first_chan, *chan; in dfs_chan_range_available() local
197 chan = dfs_get_chan_data(mode, first_chan->freq + i * 20, in dfs_chan_range_available()
199 if (!chan) { in dfs_chan_range_available()
207 if (!chan_bw_allowed(chan, bw, 1, !i)) { in dfs_chan_range_available()
213 if (!dfs_channel_available(chan, type)) { in dfs_chan_range_available()
225 struct hostapd_channel_data *chan) in is_in_chanlist() argument
230 return freq_range_list_includes(&iface->conf->acs_ch_list, chan->chan); in is_in_chanlist()
246 struct hostapd_channel_data *chan; in dfs_find_channel() local
254 chan = &mode->channels[i]; in dfs_find_channel()
259 (!dfs_is_chan_allowed(chan, n_chans) || in dfs_find_channel()
260 !(chan->allowed_bw & HOSTAPD_CHAN_WIDTH_40P))) { in dfs_find_channel()
263 chan->freq, chan->chan); in dfs_find_channel()
271 chan->freq, chan->chan); in dfs_find_channel()
275 if (!is_in_chanlist(iface, chan)) { in dfs_find_channel()
278 chan->freq, chan->chan); in dfs_find_channel()
282 if (chan->max_tx_power < iface->conf->min_tx_power) in dfs_find_channel()
285 if ((chan->flag & HOSTAPD_CHAN_INDOOR_ONLY) && in dfs_find_channel()
291 chan->freq, chan->chan); in dfs_find_channel()
292 *ret_chan = chan; in dfs_find_channel()
296 chan->freq, chan->chan); in dfs_find_channel()
304 struct hostapd_channel_data *chan, in dfs_adjust_center_freq() argument
313 if (!chan) in dfs_adjust_center_freq()
321 *oper_centr_freq_seg0_idx = chan->chan + 2; in dfs_adjust_center_freq()
323 *oper_centr_freq_seg0_idx = chan->chan - 2; in dfs_adjust_center_freq()
325 *oper_centr_freq_seg0_idx = chan->chan; in dfs_adjust_center_freq()
328 *oper_centr_freq_seg0_idx = chan->chan + 6; in dfs_adjust_center_freq()
331 *oper_centr_freq_seg0_idx = chan->chan + 14; in dfs_adjust_center_freq()
334 *oper_centr_freq_seg0_idx = chan->chan + 6; in dfs_adjust_center_freq()
355 struct hostapd_channel_data *chan; in dfs_get_start_chan_idx() local
401 chan = &mode->channels[i]; in dfs_get_start_chan_idx()
402 if (chan->chan == channel_no) { in dfs_get_start_chan_idx()
414 chan = &mode->channels[i]; in dfs_get_start_chan_idx()
415 if (chan->chan == chan_seg1) { in dfs_get_start_chan_idx()
435 mode->channels[i].chan); in dfs_get_start_chan_idx()
525 struct hostapd_channel_data *chan = NULL; in dfs_get_valid_channel() local
557 dfs_find_channel(iface, &chan, chan_idx, type); in dfs_get_valid_channel()
558 if (!chan) { in dfs_get_valid_channel()
563 chan->freq, chan->chan); in dfs_get_valid_channel()
588 if (chan2 && abs(chan2->chan - chan->chan) > 12) { in dfs_get_valid_channel()
590 sec_chan_idx_80p80 = chan2->chan; in dfs_get_valid_channel()
593 chan2->freq, chan2->chan); in dfs_get_valid_channel()
608 dfs_adjust_center_freq(iface, chan, in dfs_get_valid_channel()
614 return chan; in dfs_get_valid_channel()
633 iface->conf->channel = channel->chan; in dfs_set_valid_channel()
645 struct hostapd_channel_data *chan = NULL; in set_dfs_state_freq() local
654 chan = &iface->current_mode->channels[i]; in set_dfs_state_freq()
655 if (chan->freq == freq) { in set_dfs_state_freq()
656 if (chan->flag & HOSTAPD_CHAN_RADAR) { in set_dfs_state_freq()
657 chan->flag &= ~HOSTAPD_CHAN_DFS_MASK; in set_dfs_state_freq()
658 chan->flag |= state; in set_dfs_state_freq()
739 struct hostapd_channel_data *chan; in dfs_are_channels_overlapped() local
782 chan = &mode->channels[start_chan_idx + i]; in dfs_are_channels_overlapped()
783 if (!(chan->flag & HOSTAPD_CHAN_RADAR)) in dfs_are_channels_overlapped()
787 chan->chan, radar_chan + j * 4); in dfs_are_channels_overlapped()
788 if (chan->chan == radar_chan + j * 4) in dfs_are_channels_overlapped()
1076 channel->chan == iface->conf->channel || in hostapd_dfs_update_background_chain()
1077 channel->chan == iface->radar_background.channel) in hostapd_dfs_update_background_chain()
1084 channel->freq, channel->chan, in hostapd_dfs_update_background_chain()
1097 iface->radar_background.channel = channel->chan; in hostapd_dfs_update_background_chain()
1105 __func__, channel->chan, channel->freq); in hostapd_dfs_update_background_chain()
1247 channel->chan); in dfs_downgrade_bandwidth()
1299 channel->chan); in hostapd_dfs_start_channel_switch_cac()
1302 channel->chan, secondary_channel); in hostapd_dfs_start_channel_switch_cac()
1305 iface->conf->channel = channel->chan; in hostapd_dfs_start_channel_switch_cac()
1422 iface->conf->channel = channel->chan; in hostapd_dfs_start_channel_switch()
1435 return hostapd_dfs_request_channel_switch(iface, channel->chan, in hostapd_dfs_start_channel_switch()
1618 struct hostapd_channel_data *chan; in hostapd_is_dfs_overlap() local
1650 chan = &mode->channels[i]; in hostapd_is_dfs_overlap()
1652 if (!(chan->flag & HOSTAPD_CHAN_RADAR)) in hostapd_is_dfs_overlap()
1655 if ((chan->flag & HOSTAPD_CHAN_DFS_MASK) == in hostapd_is_dfs_overlap()
1659 if (center_freq - chan->freq < half_width && in hostapd_is_dfs_overlap()
1660 chan->freq - center_freq < half_width) in hostapd_is_dfs_overlap()