WPS: Clear after_wps from number of new locations
This makes it less likely to forget WPS single-channel scan optimization in effect after having completed the WPS operation or in case WPS operating gets cancelled. Signed-hostap: Jouni Malinen <j@w1.fi>
This commit is contained in:
parent
72c052d525
commit
7255983b59
2 changed files with 9 additions and 0 deletions
|
@ -5162,6 +5162,7 @@ static void wpa_supplicant_ctrl_iface_flush(struct wpa_supplicant *wpa_s)
|
||||||
#ifdef CONFIG_WPS
|
#ifdef CONFIG_WPS
|
||||||
wpas_wps_cancel(wpa_s);
|
wpas_wps_cancel(wpa_s);
|
||||||
#endif /* CONFIG_WPS */
|
#endif /* CONFIG_WPS */
|
||||||
|
wpa_s->after_wps = 0;
|
||||||
|
|
||||||
#ifdef CONFIG_TDLS_TESTING
|
#ifdef CONFIG_TDLS_TESTING
|
||||||
extern unsigned int tdls_testing;
|
extern unsigned int tdls_testing;
|
||||||
|
@ -5595,6 +5596,7 @@ char * wpa_supplicant_ctrl_iface_process(struct wpa_supplicant *wpa_s,
|
||||||
(wpa_s->wpa_state == WPA_COMPLETED))) {
|
(wpa_s->wpa_state == WPA_COMPLETED))) {
|
||||||
wpa_s->normal_scans = 0;
|
wpa_s->normal_scans = 0;
|
||||||
wpa_s->scan_req = MANUAL_SCAN_REQ;
|
wpa_s->scan_req = MANUAL_SCAN_REQ;
|
||||||
|
wpa_s->after_wps = 0;
|
||||||
wpa_supplicant_req_scan(wpa_s, 0, 0);
|
wpa_supplicant_req_scan(wpa_s, 0, 0);
|
||||||
} else if (wpa_s->sched_scanning) {
|
} else if (wpa_s->sched_scanning) {
|
||||||
wpa_printf(MSG_DEBUG, "Stop ongoing "
|
wpa_printf(MSG_DEBUG, "Stop ongoing "
|
||||||
|
|
|
@ -882,6 +882,8 @@ static void wpas_clear_wps(struct wpa_supplicant *wpa_s)
|
||||||
int id;
|
int id;
|
||||||
struct wpa_ssid *ssid, *remove_ssid = NULL, *prev_current;
|
struct wpa_ssid *ssid, *remove_ssid = NULL, *prev_current;
|
||||||
|
|
||||||
|
wpa_s->after_wps = 0;
|
||||||
|
|
||||||
prev_current = wpa_s->current_ssid;
|
prev_current = wpa_s->current_ssid;
|
||||||
|
|
||||||
/* Enable the networks disabled during wpas_wps_reassoc */
|
/* Enable the networks disabled during wpas_wps_reassoc */
|
||||||
|
@ -1157,6 +1159,8 @@ int wpas_wps_cancel(struct wpa_supplicant *wpa_s)
|
||||||
wpas_wps_clear_ap_info(wpa_s);
|
wpas_wps_clear_ap_info(wpa_s);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
wpa_s->after_wps = 0;
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2465,6 +2469,9 @@ void wpas_wps_update_ap_info(struct wpa_supplicant *wpa_s,
|
||||||
void wpas_wps_notify_assoc(struct wpa_supplicant *wpa_s, const u8 *bssid)
|
void wpas_wps_notify_assoc(struct wpa_supplicant *wpa_s, const u8 *bssid)
|
||||||
{
|
{
|
||||||
struct wps_ap_info *ap;
|
struct wps_ap_info *ap;
|
||||||
|
|
||||||
|
wpa_s->after_wps = 0;
|
||||||
|
|
||||||
if (!wpa_s->wps_ap_iter)
|
if (!wpa_s->wps_ap_iter)
|
||||||
return;
|
return;
|
||||||
ap = wpas_wps_get_ap_info(wpa_s, bssid);
|
ap = wpas_wps_get_ap_info(wpa_s, bssid);
|
||||||
|
|
Loading…
Reference in a new issue