unsigned int unsol_bcast_probe_resp:1;
unsigned int qca_do_acs:1;
unsigned int brcm_do_acs:1;
+ unsigned int uses_6ghz:1;
u64 vendor_scan_cookie;
u64 remain_on_chan_cookie;
}
-static void nl80211_dump_chan_list(struct hostapd_hw_modes *modes,
+static void nl80211_dump_chan_list(struct wpa_driver_nl80211_data *drv,
+ struct hostapd_hw_modes *modes,
u16 num_modes)
{
int i;
for (j = 0; j < mode->num_channels; j++) {
struct hostapd_channel_data *chan = &mode->channels[j];
+ if (chan->freq >= 5925 && chan->freq <= 7125 &&
+ !(chan->flag & HOSTAPD_CHAN_DISABLED))
+ drv->uses_6ghz = true;
res = os_snprintf(pos, end - pos, " %d%s%s%s",
chan->freq,
(chan->flag & HOSTAPD_CHAN_DISABLED) ?
modes = wpa_driver_nl80211_postprocess_modes(result.modes,
num_modes);
- nl80211_dump_chan_list(modes, *num_modes);
+ nl80211_dump_chan_list(drv, modes, *num_modes);
return modes;
}
drv->scan_state = SCAN_REQUESTED;
/* Not all drivers generate "scan completed" wireless event, so try to
* read results after a timeout. */
- timeout = 10;
+ timeout = drv->uses_6ghz ? 15 : 10;
if (drv->scan_complete_events) {
/*
* The driver seems to deliver events to notify when scan is