Browse Source

Fix sched_scan for max-num-of-scan_ssid=1 networks

When the network configuration includes exactly the number of
scan_ssid=1 networks as the driver supports for scan_sched and no
networks need wildcard SSID scan, there is no need to use sched_scan
timeout. Check this condition and optimize this case to avoid the extra
sched_scan start/stop operations.

Signed-hostap: Jouni Malinen <jouni@qca.qualcomm.com>
Jouni Malinen 13 years ago
parent
commit
b55aca4672
1 changed files with 4 additions and 0 deletions
  1. 4 0
      wpa_supplicant/scan.c

+ 4 - 0
wpa_supplicant/scan.c

@@ -877,6 +877,10 @@ int wpa_supplicant_req_sched_scan(struct wpa_supplicant *wpa_s)
 			params.num_ssids++;
 			if (params.num_ssids >= max_sched_scan_ssids) {
 				wpa_s->prev_sched_ssid = ssid;
+				do {
+					ssid = ssid->next;
+				} while (ssid &&
+					 (ssid->disabled || !ssid->scan_ssid));
 				break;
 			}
 		}