wpa_supplicant: Use monotonic time for last_scan check

This just serves to check if there was a scan within
the last 5 seconds, hence it should use monotonic time.
While at it, also use os_reltime_expired().

Signed-hostap: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:
Johannes Berg 2013-12-16 21:08:44 +01:00 committed by Jouni Malinen
parent 51bffab117
commit a12d34546a
3 changed files with 5 additions and 5 deletions

View file

@ -733,7 +733,7 @@ void wpa_bss_update_end(struct wpa_supplicant *wpa_s, struct scan_info *info,
struct wpa_bss *bss, *n; struct wpa_bss *bss, *n;
wpa_s->last_scan_full = 0; wpa_s->last_scan_full = 0;
os_get_time(&wpa_s->last_scan); os_get_reltime(&wpa_s->last_scan);
if (!new_scan) if (!new_scan)
return; /* do not expire entries without new scan */ return; /* do not expire entries without new scan */

View file

@ -1428,13 +1428,13 @@ int wpa_supplicant_fast_associate(struct wpa_supplicant *wpa_s)
#ifdef CONFIG_NO_SCAN_PROCESSING #ifdef CONFIG_NO_SCAN_PROCESSING
return -1; return -1;
#else /* CONFIG_NO_SCAN_PROCESSING */ #else /* CONFIG_NO_SCAN_PROCESSING */
struct os_time now; struct os_reltime now;
if (wpa_s->last_scan_res_used <= 0) if (wpa_s->last_scan_res_used <= 0)
return -1; return -1;
os_get_time(&now); os_get_reltime(&now);
if (now.sec - wpa_s->last_scan.sec > 5) { if (os_reltime_expired(&now, &wpa_s->last_scan, 5)) {
wpa_printf(MSG_DEBUG, "Fast associate: Old scan results"); wpa_printf(MSG_DEBUG, "Fast associate: Old scan results");
return -1; return -1;
} }

View file

@ -409,7 +409,7 @@ struct wpa_supplicant {
unsigned int last_scan_res_used; unsigned int last_scan_res_used;
unsigned int last_scan_res_size; unsigned int last_scan_res_size;
int last_scan_full; int last_scan_full;
struct os_time last_scan; struct os_reltime last_scan;
struct wpa_driver_ops *driver; struct wpa_driver_ops *driver;
int interface_removed; /* whether the network interface has been int interface_removed; /* whether the network interface has been