Clear own_disconnect_req on new connection attempt

It was possible for wpa_s->own_disconnect_req to be left set to 1 from a
disconnection attempt from a prior connection. This could then prevent
proper connection failure processing with the new connection in
wpas_connection_failed(). This was triggered by the following hwsim test
case sequence: wpas_mesh_secure sae_no_ffc_by_default. In this sequence,
the SAE failure due to unsupported group did not result in proper
wpas_connection_failed() processing and retry.

Fix this by clearing wpa_s->own_disconnect_req in
wpa_supplicant_associate() before starting a new connection.

Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
This commit is contained in:
Jouni Malinen 2015-10-12 14:24:06 +03:00 committed by Jouni Malinen
parent 7c0d66cf7a
commit a8412ec9d0

View file

@ -1586,6 +1586,8 @@ void wpa_supplicant_associate(struct wpa_supplicant *wpa_s,
struct wpa_connect_work *cwork; struct wpa_connect_work *cwork;
int rand_style; int rand_style;
wpa_s->own_disconnect_req = 0;
if (ssid->mac_addr == -1) if (ssid->mac_addr == -1)
rand_style = wpa_s->conf->mac_addr; rand_style = wpa_s->conf->mac_addr;
else else