wpa_supplicant: don't allow too short sched scan

Submitted by dvdspndl@gmail.com on March 7, 2013, 9:26 a.m.

Details

Message ID 1362648370-3084-1-git-send-email-dvdspndl@gmail.com
State Accepted
Commit a09fc1ccf882ad4f300e38448734fd4d5400b532
Headers show

Commit Message

dvdspndl@gmail.com March 7, 2013, 9:26 a.m.
From: David Spinadel <david.spinadel@intel.com>

In case that the ssid list is longer than max number of ssids,
ths scheduled scan aborted after timeout and rescheduled again
with shorter timeout and longer interval. In case that the timeout
is shorter than the interval, only one scan iteration will
be run. In this case, start again the initial times.

Signed-hostap: David Spinadel <david.spinadel@intel.com>
---
 wpa_supplicant/scan.c |    4 ++++
 1 file changed, 4 insertions(+)

Comments

Jouni Malinen March 10, 2013, 3:29 p.m.
On Thu, Mar 07, 2013 at 11:26:10AM +0200, David Spinadel wrote:
> In case that the ssid list is longer than max number of ssids,
> ths scheduled scan aborted after timeout and rescheduled again
> with shorter timeout and longer interval. In case that the timeout
> is shorter than the interval, only one scan iteration will
> be run. In this case, start again the initial times.

Thanks, applied.

Patch hide | download patch | download mbox

diff --git a/wpa_supplicant/scan.c b/wpa_supplicant/scan.c
index 0e45079..ce33d0c 100644
--- a/wpa_supplicant/scan.c
+++ b/wpa_supplicant/scan.c
@@ -1118,6 +1118,10 @@  scan:
 		wpa_s->first_sched_scan = 0;
 		wpa_s->sched_scan_timeout /= 2;
 		wpa_s->sched_scan_interval *= 2;
+		if (wpa_s->sched_scan_timeout < wpa_s->sched_scan_interval) {
+			wpa_s->sched_scan_interval = 10;
+			wpa_s->sched_scan_timeout = max_sched_scan_ssids * 2;
+		}
 	}
 
 	/* If there is no more ssids, start next time from the beginning */