data->auth.ies_len - ie_offset,
&elems, 0) == ParseFailed) {
wpa_printf(MSG_DEBUG, "MLD: Failed parsing elements");
- goto out;
+ return -1;
}
if (!elems.basic_mle || !elems.basic_mle_len) {
status_code == WLAN_STATUS_SUCCESS ||
status_code == WLAN_STATUS_SAE_HASH_TO_ELEMENT ||
status_code == WLAN_STATUS_SAE_PK)
- goto out;
+ return -1;
/* Accept missing Multi-Link element in failed authentication
* cases. */
return 0;
mld_addr = get_basic_mle_mld_addr(elems.basic_mle, elems.basic_mle_len);
if (!mld_addr)
- goto out;
+ return -1;
wpa_printf(MSG_DEBUG, "MLD: mld_address=" MACSTR, MAC2STR(mld_addr));
if (!ether_addr_equal(wpa_s->ap_mld_addr, mld_addr)) {
wpa_printf(MSG_DEBUG, "MLD: Unexpected MLD address (expected "
MACSTR ")", MAC2STR(wpa_s->ap_mld_addr));
- goto out;
+ return -1;
}
return 0;
-out:
- wpa_printf(MSG_DEBUG, "MLD: Authentication - clearing MLD state");
- wpas_reset_mlo_info(wpa_s);
- return -1;
}
wpas_connection_failed(wpa_s, wpa_s->pending_bssid, NULL);
wpa_supplicant_deauthenticate(wpa_s,
WLAN_REASON_DEAUTH_LEAVING);
+ wpa_printf(MSG_DEBUG,
+ "MLD: Authentication - clearing MLD state");
+ wpas_reset_mlo_info(wpa_s);
return;
}