nl80211: Fix send_mlme for SAE external auth
When external authentication is used, the station send mlme frame (auth)
to the driver may not be able to get the frequency (bss->freq) after
hostap.git commit b6f8b5a9
("nl80211: Update freq only when CSA
completes"). Use the assoc_freq to send the MLME frame when SAE external
authentication is used to avoid this issue.
Signed-off-by: Ouden <Ouden.Biz@gmail.com>
This commit is contained in:
parent
bac54daf32
commit
aad414e956
1 changed files with 11 additions and 0 deletions
|
@ -3747,6 +3747,17 @@ static int wpa_driver_nl80211_send_mlme(struct i802_bss *bss, const u8 *data,
|
|||
encrypt = 0;
|
||||
}
|
||||
|
||||
if (freq == 0 && drv->nlmode == NL80211_IFTYPE_STATION &&
|
||||
(drv->capa.flags & WPA_DRIVER_FLAGS_SAE) &&
|
||||
!(drv->capa.flags & WPA_DRIVER_FLAGS_SME) &&
|
||||
WLAN_FC_GET_TYPE(fc) == WLAN_FC_TYPE_MGMT &&
|
||||
WLAN_FC_GET_STYPE(fc) == WLAN_FC_STYPE_AUTH) {
|
||||
freq = nl80211_get_assoc_freq(drv);
|
||||
wpa_printf(MSG_DEBUG,
|
||||
"nl80211: send_mlme - Use assoc_freq=%u for external auth",
|
||||
freq);
|
||||
}
|
||||
|
||||
if (freq == 0 && drv->nlmode == NL80211_IFTYPE_ADHOC) {
|
||||
freq = nl80211_get_assoc_freq(drv);
|
||||
wpa_printf(MSG_DEBUG,
|
||||
|
|
Loading…
Reference in a new issue