From: Jouni Malinen Date: Mon, 28 Nov 2011 15:52:36 +0000 (+0200) Subject: Drop sched_scan filter if not enough match sets supported X-Git-Tag: aosp-jb-start~235 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=86b47aaf3608827d50b24ab58fbc1ceb92a5d33e;p=thirdparty%2Fhostap.git Drop sched_scan filter if not enough match sets supported Instead of including only a single SSID in the sched_scan request if the driver does not support match sets, just drop the SSID filter and configure more SSIDs up to the sched_scan limit. Signed-hostap: Jouni Malinen --- diff --git a/wpa_supplicant/scan.c b/wpa_supplicant/scan.c index 8fe5996db..6d519010a 100644 --- a/wpa_supplicant/scan.c +++ b/wpa_supplicant/scan.c @@ -764,6 +764,13 @@ int wpa_supplicant_req_sched_scan(struct wpa_supplicant *wpa_s) params.filter_ssids[params.num_filter_ssids].ssid_len = ssid->ssid_len; params.num_filter_ssids++; + } else if (params.filter_ssids && ssid->ssid && ssid->ssid_len) + { + wpa_dbg(wpa_s, MSG_DEBUG, "Not enough room for SSID " + "filter for sched_scan - drop filter"); + os_free(params.filter_ssids); + params.filter_ssids = NULL; + params.num_filter_ssids = 0; } if (ssid->scan_ssid && ssid->ssid && ssid->ssid_len) { @@ -781,8 +788,6 @@ int wpa_supplicant_req_sched_scan(struct wpa_supplicant *wpa_s) } } - if (params.num_filter_ssids >= wpa_s->max_match_sets) - break; wpa_s->prev_sched_ssid = ssid; ssid = ssid->next; }