@@ -89,8 +89,19 @@ static int wpa_supplicant_select_config(struct
wpa_supplicant *wpa_s)
struct wpa_bss *bss;
int res;
- if (wpa_s->conf->ap_scan == 1 && wpa_s->current_ssid)
+ if (wpa_s->conf->ap_scan == 1 && wpa_s->current_ssid) {
+ bss = wpa_supplicant_get_new_bss(wpa_s, wpa_s->bssid);
+ if (!bss) {
+ wpa_dbg(wpa_s, MSG_DEBUG, "Update scan results");
+ wpa_supplicant_update_scan_results(wpa_s);
+
+ /* Get the BSS from the new scan results */
+ bss = wpa_supplicant_get_new_bss(wpa_s, wpa_s->bssid);
+ }
+ if (bss)
+ wpa_s->current_bss = bss;
return 0;
+ }
wpa_dbg(wpa_s, MSG_DEBUG, "Select network based on association "