summaryrefslogtreecommitdiff
path: root/src/ap/acs.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/ap/acs.c')
-rw-r--r--src/ap/acs.c13
1 files changed, 5 insertions, 8 deletions
diff --git a/src/ap/acs.c b/src/ap/acs.c
index ae7f6c3092899..03d797fe8836a 100644
--- a/src/ap/acs.c
+++ b/src/ap/acs.c
@@ -479,16 +479,10 @@ static int acs_usable_chan(struct hostapd_channel_data *chan)
static int is_in_chanlist(struct hostapd_iface *iface,
struct hostapd_channel_data *chan)
{
- int *entry;
-
- if (!iface->conf->chanlist)
+ if (!iface->conf->acs_ch_list.num)
return 1;
- for (entry = iface->conf->chanlist; *entry != -1; entry++) {
- if (*entry == chan->chan)
- return 1;
- }
- return 0;
+ return freq_range_list_includes(&iface->conf->acs_ch_list, chan->chan);
}
@@ -900,6 +894,9 @@ static int acs_request_scan(struct hostapd_iface *iface)
if (chan->flag & HOSTAPD_CHAN_DISABLED)
continue;
+ if (!is_in_chanlist(iface, chan))
+ continue;
+
*freq++ = chan->freq;
}
*freq = 0;