qcacld-3.0: Fix connection failure with SAP in WPA3 mode

In case if the EXTERNAL_AUTH_SUPPORT is present natively
in kernel, then the backport flag CFG80211_EXTERNAL_AUTH_SUPPORT
will not be present.

Currently host checks for defined(CFG80211_EXTERNAL_AUTH_SUPPORT)
flag to register ops for external_auth. This results in external
auth fail in the above case.

In the driver all instances of
“defined(CFG80211_EXTERNAL_AUTH_SUPPORT)” should be paired with
|| (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 17, 0))

where 4.17.0 is the kernel version where the external auth support
gets added to the upstream kernel.

Change-Id: I67b687b37ab60b581e97ea81243c0d30bbb17acd
CRs-Fixed: 2692697
This commit is contained in:
Abhinav Kumar 2020-05-28 14:53:02 +05:30 • committed by nshrivas
commit 7f67effb98
2 changed files with 8 additions and 4 deletions

View file

@ -193,7 +193,8 @@ static const int beacon_filter_table[] = {
#endif
#if defined(WLAN_FEATURE_SAE) && \
defined(CFG80211_EXTERNAL_AUTH_SUPPORT)
(defined(CFG80211_EXTERNAL_AUTH_SUPPORT) || \
LINUX_VERSION_CODE >= KERNEL_VERSION(4, 17, 0))
/**
* wlan_hdd_sae_callback() - Sends SAE info to supplicant
* @adapter: pointer adapter context

View file

@ -14596,7 +14596,8 @@ static void wlan_hdd_cfg80211_set_wiphy_oce_scan_flags(struct wiphy *wiphy)
#endif
#if defined(WLAN_FEATURE_SAE) && \
defined(CFG80211_EXTERNAL_AUTH_SUPPORT)
(defined(CFG80211_EXTERNAL_AUTH_SUPPORT) || \
LINUX_VERSION_CODE >= KERNEL_VERSION(4, 17, 0))
/**
* wlan_hdd_cfg80211_set_wiphy_sae_feature() - Indicates support of SAE feature
* @wiphy: Pointer to wiphy
@ -22277,7 +22278,8 @@ wlan_hdd_cfg80211_update_connect_params(struct wiphy *wiphy,
#endif
#if defined(WLAN_FEATURE_SAE) && \
defined(CFG80211_EXTERNAL_AUTH_SUPPORT)
(defined(CFG80211_EXTERNAL_AUTH_SUPPORT) || \
LINUX_VERSION_CODE >= KERNEL_VERSION(4, 17, 0))
#if defined(CFG80211_EXTERNAL_AUTH_AP_SUPPORT)
/**
* wlan_hdd_extauth_cache_pmkid() - Extract and cache pmkid
@ -22884,7 +22886,8 @@ static struct cfg80211_ops wlan_hdd_cfg80211_ops = {
.update_connect_params = wlan_hdd_cfg80211_update_connect_params,
#endif
#if defined(WLAN_FEATURE_SAE) && \
defined(CFG80211_EXTERNAL_AUTH_SUPPORT)
(defined(CFG80211_EXTERNAL_AUTH_SUPPORT) || \
LINUX_VERSION_CODE >= KERNEL_VERSION(4, 17, 0))
.external_auth = wlan_hdd_cfg80211_external_auth,
#endif
#if defined(WLAN_FEATURE_NAN) && \