Add a configration parameter for sched_scan interval

The new sched_scan_interval parameter can be used to set the default
sched_scan interval, e.g., for power saving purposes.

Signed-hostap: Jouni Malinen <jouni@qca.qualcomm.com>
This commit is contained in:
Sheng Fang 2013-05-07 12:41:14 +03:00 committed by Jouni Malinen
parent 03565bc2d6
commit 4aa8186806
4 changed files with 13 additions and 1 deletions

View file

@ -3105,6 +3105,7 @@ static const struct global_parse_data global_fields[] = {
{ FUNC(ap_vendor_elements), 0 }, { FUNC(ap_vendor_elements), 0 },
{ INT_RANGE(ignore_old_scan_res, 0, 1), 0 }, { INT_RANGE(ignore_old_scan_res, 0, 1), 0 },
{ FUNC(freq_list), 0 }, { FUNC(freq_list), 0 },
{ INT(sched_scan_interval), 0 },
}; };
#undef FUNC #undef FUNC

View file

@ -862,6 +862,11 @@ struct wpa_config {
* allowing it to update the internal BSS table. * allowing it to update the internal BSS table.
*/ */
int ignore_old_scan_res; int ignore_old_scan_res;
/**
* sched_scan_interval - schedule scan interval
*/
unsigned int sched_scan_interval;
}; };

View file

@ -1025,6 +1025,10 @@ static void wpa_config_write_global(FILE *f, struct wpa_config *config)
} }
fprintf(f, "\n"); fprintf(f, "\n");
} }
if (config->sched_scan_interval)
fprintf(f, "sched_scan_interval=%u\n",
config->sched_scan_interval);
} }
#endif /* CONFIG_NO_CONFIG_WRITE */ #endif /* CONFIG_NO_CONFIG_WRITE */

View file

@ -1019,7 +1019,9 @@ int wpa_supplicant_req_sched_scan(struct wpa_supplicant *wpa_s)
if (!ssid || !wpa_s->prev_sched_ssid) { if (!ssid || !wpa_s->prev_sched_ssid) {
wpa_dbg(wpa_s, MSG_DEBUG, "Beginning of SSID list"); wpa_dbg(wpa_s, MSG_DEBUG, "Beginning of SSID list");
if (wpa_s->conf->sched_scan_interval)
wpa_s->sched_scan_interval =
wpa_s->conf->sched_scan_interval;
if (wpa_s->sched_scan_interval == 0) if (wpa_s->sched_scan_interval == 0)
wpa_s->sched_scan_interval = 10; wpa_s->sched_scan_interval = 10;
wpa_s->sched_scan_timeout = max_sched_scan_ssids * 2; wpa_s->sched_scan_timeout = max_sched_scan_ssids * 2;