mirror of
https://git.kernel.org/pub/scm/network/wireless/iwd.git
synced 2024-11-26 02:19:26 +01:00
wiphy: allow FT AKM to be used if Auth/Assoc is not supported
Until now FT was only supported via Auth/Assoc commands which barred any fullmac cards from using FT AKMs. With PSK offload support these cards can do FT but only when offloading is used.
This commit is contained in:
parent
81e3dc6ae6
commit
f5c5efa033
15
src/wiphy.c
15
src/wiphy.c
@ -178,6 +178,8 @@ enum ie_rsn_akm_suite wiphy_select_akm(struct wiphy *wiphy,
|
|||||||
{
|
{
|
||||||
struct ie_rsn_info info;
|
struct ie_rsn_info info;
|
||||||
enum security security;
|
enum security security;
|
||||||
|
bool psk_offload = wiphy_has_ext_feature(wiphy,
|
||||||
|
NL80211_EXT_FEATURE_4WAY_HANDSHAKE_STA_PSK);
|
||||||
|
|
||||||
memset(&info, 0, sizeof(info));
|
memset(&info, 0, sizeof(info));
|
||||||
scan_bss_get_rsn_info(bss, &info);
|
scan_bss_get_rsn_info(bss, &info);
|
||||||
@ -246,10 +248,17 @@ enum ie_rsn_akm_suite wiphy_select_akm(struct wiphy *wiphy,
|
|||||||
}
|
}
|
||||||
|
|
||||||
wpa2_personal:
|
wpa2_personal:
|
||||||
|
/*
|
||||||
|
* Allow FT if either Auth/Assoc is supported OR if the card
|
||||||
|
* supports PSK offload. Without Auth/Assoc, PSK offload is the
|
||||||
|
* only mechanism to allow FT on these cards.
|
||||||
|
*/
|
||||||
if ((info.akm_suites & IE_RSN_AKM_SUITE_FT_USING_PSK) &&
|
if ((info.akm_suites & IE_RSN_AKM_SUITE_FT_USING_PSK) &&
|
||||||
bss->rsne && bss->mde_present &&
|
bss->rsne && bss->mde_present) {
|
||||||
wiphy->support_cmds_auth_assoc)
|
if (wiphy->support_cmds_auth_assoc ||
|
||||||
return IE_RSN_AKM_SUITE_FT_USING_PSK;
|
(psk_offload && wiphy->support_fw_roam))
|
||||||
|
return IE_RSN_AKM_SUITE_FT_USING_PSK;
|
||||||
|
}
|
||||||
|
|
||||||
if (info.akm_suites & IE_RSN_AKM_SUITE_PSK_SHA256)
|
if (info.akm_suites & IE_RSN_AKM_SUITE_PSK_SHA256)
|
||||||
return IE_RSN_AKM_SUITE_PSK_SHA256;
|
return IE_RSN_AKM_SUITE_PSK_SHA256;
|
||||||
|
Loading…
Reference in New Issue
Block a user