Do not continually reschedule specific scans to help finding hidden SSIDs
In situations where the driver does background scanning and sends a steady stream of scan results, wpa_supplicant would continually reschedule the scan. This resulted in specific SSID scans never happening for a hidden AP, and the supplicant never connecting to the AP because it never got found. Instead, if there's an already scheduled scan, and a request comes in to reschedule it, and there are enabled scan_ssid=1 network blocks, let the scan happen anyway so the hidden SSID has a chance to be found.
This commit is contained in:
parent
8479707beb
commit
7e1488494e
5 changed files with 93 additions and 0 deletions
|
@ -315,6 +315,25 @@ int eloop_cancel_timeout(eloop_timeout_handler handler,
|
|||
}
|
||||
|
||||
|
||||
int eloop_is_timeout_registered(eloop_timeout_handler handler,
|
||||
void *eloop_data, void *user_data)
|
||||
{
|
||||
struct eloop_timeout *tmp;
|
||||
|
||||
tmp = eloop.timeout;
|
||||
while (tmp != NULL) {
|
||||
if (tmp->handler == handler &&
|
||||
tmp->eloop_data == eloop_data &&
|
||||
tmp->user_data == user_data)
|
||||
return 1;
|
||||
|
||||
tmp = tmp->next;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
#ifndef CONFIG_NATIVE_WINDOWS
|
||||
static void eloop_handle_alarm(int sig)
|
||||
{
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue