X-Git-Url: http://git.ozo.com/?a=blobdiff_plain;f=package%2Fhostapd%2Fpatches%2F310-scan_ssid.patch;fp=package%2Fhostapd%2Fpatches%2F310-scan_ssid.patch;h=5a7e10f6b78134a47d7aad0466404e66a9ae4914;hb=1f0cb60a115cf4ed359a58a76ffdd46bcc5bbda1;hp=0000000000000000000000000000000000000000;hpb=7f1760652d125ff3867abe3c62dcb0f22a0013f1;p=openwrt-10.03%2F.git diff --git a/package/hostapd/patches/310-scan_ssid.patch b/package/hostapd/patches/310-scan_ssid.patch new file mode 100644 index 000000000..5a7e10f6b --- /dev/null +++ b/package/hostapd/patches/310-scan_ssid.patch @@ -0,0 +1,37 @@ +--- a/wpa_supplicant/scan.c ++++ b/wpa_supplicant/scan.c +@@ -215,6 +215,7 @@ static void wpa_supplicant_scan(void *el + enum wps_request_type req_type = WPS_REQ_ENROLLEE_INFO; + #endif /* CONFIG_WPS */ + struct wpa_driver_scan_params params; ++ int scan_ssid_all = 1; + size_t max_ssids; + + if (wpa_s->disconnected && !wpa_s->scan_req) { +@@ -275,6 +276,16 @@ static void wpa_supplicant_scan(void *el + wpa_s->wpa_state == WPA_INACTIVE) + wpa_supplicant_set_state(wpa_s, WPA_SCANNING); + ++ /* check if all configured ssids should be scanned directly */ ++ ssid = wpa_s->conf->ssid; ++ while (ssid) { ++ if (!ssid->scan_ssid) { ++ scan_ssid_all = 0; ++ break; ++ } ++ ssid = ssid->next; ++ } ++ + /* Find the starting point from which to continue scanning */ + ssid = wpa_s->conf->ssid; + if (wpa_s->prev_scan_ssid != WILDCARD_SSID_SCAN) { +@@ -336,6 +347,9 @@ static void wpa_supplicant_scan(void *el + int_array_sort_unique(params.freqs); + } + ++ if (scan_ssid_all && !ssid) ++ ssid = wpa_s->conf->ssid; ++ + if (ssid) { + wpa_s->prev_scan_ssid = ssid; + if (max_ssids > 1) {