From 3fa1d38e601b02ac97bc31aef74f425a621860b1 Mon Sep 17 00:00:00 2001 From: Vignesh Viswanathan Date: Wed, 2 Aug 2017 19:36:43 +0530 Subject: [PATCH] qcacld-3.0: Add kernel backport versions Add kernel backport versions for the below kernel flags: - CFG80211_CONNECT_BSS - CFG80211_CONNECT_TIMEOUT - CFG80211_CONNECT_TIMEOUT_REASON_CODE - CFG80211_CONNECT_DONE - CFG80211_FILS_SK_OFFLOAD_SUPPORT - CFG80211_BEACON_TX_RATE_CUSTOM_BACKPORT - CFG80211_RAND_TA_FOR_PUBLIC_ACTION_FRAME Change-Id: I3593e0af4817ebbf75ca9e2f3aec36aece6f6f0e CRs-Fixed: 2086436 --- core/hdd/inc/wlan_hdd_main.h | 4 +++- core/hdd/src/wlan_hdd_assoc.c | 4 +++- core/hdd/src/wlan_hdd_cfg80211.c | 26 +++++++++++++++++++------- core/hdd/src/wlan_hdd_main.c | 23 +++++++++++++++-------- 4 files changed, 40 insertions(+), 17 deletions(-) diff --git a/core/hdd/inc/wlan_hdd_main.h b/core/hdd/inc/wlan_hdd_main.h index 253a8e3e531d..4df2573c6ea2 100644 --- a/core/hdd/inc/wlan_hdd_main.h +++ b/core/hdd/inc/wlan_hdd_main.h @@ -2754,7 +2754,9 @@ int hdd_get_rssi_snr_by_bssid(struct hdd_adapter *adapter, const uint8_t *bssid, */ int hdd_reset_limit_off_chan(struct hdd_adapter *adapter); -#if defined(WLAN_FEATURE_FILS_SK) && defined(CFG80211_FILS_SK_OFFLOAD_SUPPORT) +#if defined(WLAN_FEATURE_FILS_SK) && \ + (defined(CFG80211_FILS_SK_OFFLOAD_SUPPORT) || \ + (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 12, 0))) /** * hdd_clear_fils_connection_info: API to clear fils info from roam profile and * free allocated memory diff --git a/core/hdd/src/wlan_hdd_assoc.c b/core/hdd/src/wlan_hdd_assoc.c index dea841352f4e..635d4ffdf474 100644 --- a/core/hdd/src/wlan_hdd_assoc.c +++ b/core/hdd/src/wlan_hdd_assoc.c @@ -2489,7 +2489,9 @@ void hdd_perform_roam_set_key_complete(struct hdd_adapter *adapter) sta_ctx->roam_info.deferKeyComplete = false; } -#if defined(WLAN_FEATURE_FILS_SK) && defined(CFG80211_FILS_SK_OFFLOAD_SUPPORT) +#if defined(WLAN_FEATURE_FILS_SK) && \ + (defined(CFG80211_FILS_SK_OFFLOAD_SUPPORT) || \ + (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 12, 0))) void hdd_clear_fils_connection_info(struct hdd_adapter *adapter) { struct hdd_wext_state *wext_state; diff --git a/core/hdd/src/wlan_hdd_cfg80211.c b/core/hdd/src/wlan_hdd_cfg80211.c index c16be43b0c0d..96435f479965 100644 --- a/core/hdd/src/wlan_hdd_cfg80211.c +++ b/core/hdd/src/wlan_hdd_cfg80211.c @@ -12781,7 +12781,10 @@ static void wlan_hdd_cfg80211_scan_randomization_init(struct wiphy *wiphy) #endif #define WLAN_HDD_MAX_NUM_CSA_COUNTERS 2 -#if defined(WLAN_FEATURE_FILS_SK) && defined(CFG80211_FILS_SK_OFFLOAD_SUPPORT) + +#if defined(WLAN_FEATURE_FILS_SK) && \ + (defined(CFG80211_FILS_SK_OFFLOAD_SUPPORT) || \ + (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 12, 0))) static void wlan_hdd_cfg80211_set_wiphy_fils_feature(struct wiphy *wiphy) { wiphy_ext_feature_set(wiphy, NL80211_EXT_FEATURE_FILS_SK_OFFLOAD); @@ -13033,7 +13036,7 @@ int wlan_hdd_cfg80211_init(struct device *dev, #endif wiphy->features |= NL80211_FEATURE_INACTIVITY_TIMER; -#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 8, 0)) || \ +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 9, 0)) || \ defined(CFG80211_BEACON_TX_RATE_CUSTOM_BACKPORT) wiphy_ext_feature_set(wiphy, NL80211_EXT_FEATURE_BEACON_RATE_LEGACY); wiphy_ext_feature_set(wiphy, NL80211_EXT_FEATURE_BEACON_RATE_HT); @@ -15854,7 +15857,9 @@ static int wlan_hdd_cfg80211_set_auth_type(struct hdd_adapter *adapter, sta_ctx->conn_info.authType = eCSR_AUTH_TYPE_CCKM_WPA; break; #endif -#if defined(WLAN_FEATURE_FILS_SK) && defined(CFG80211_FILS_SK_OFFLOAD_SUPPORT) +#if defined(WLAN_FEATURE_FILS_SK) && \ + (defined(CFG80211_FILS_SK_OFFLOAD_SUPPORT) || \ + (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 12, 0))) case NL80211_AUTHTYPE_FILS_SK: hdd_notice("set authentication type to FILS SHARED"); sta_ctx->conn_info.authType = eCSR_AUTH_TYPE_OPEN_SYSTEM; @@ -15871,7 +15876,9 @@ static int wlan_hdd_cfg80211_set_auth_type(struct hdd_adapter *adapter, return 0; } -#if defined(WLAN_FEATURE_FILS_SK) && defined(CFG80211_FILS_SK_OFFLOAD_SUPPORT) +#if defined(WLAN_FEATURE_FILS_SK) && \ + (defined(CFG80211_FILS_SK_OFFLOAD_SUPPORT) || \ + (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 12, 0))) /** * hdd_validate_fils_info_ptr() - check fils info for FILS AKMs * @wext_state: wext state pointer @@ -15956,7 +15963,9 @@ static int wlan_hdd_set_akm_suite(struct hdd_adapter *adapter, u32 key_mgmt) hdd_debug("setting key mgmt type to OSEN"); pWextState->authKeyMgmt |= IW_AUTH_KEY_MGMT_802_1X; break; -#ifdef WLAN_FEATURE_FILS_SK +#if defined(WLAN_FEATURE_FILS_SK) && \ + (defined(CFG80211_FILS_SK_OFFLOAD_SUPPORT) || \ + (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 12, 0))) case WLAN_AKM_SUITE_FILS_SHA256: if (!fils_akm_check) return -EINVAL; @@ -16551,7 +16560,9 @@ static bool hdd_is_wpaie_present(const uint8_t *ie, uint8_t ie_len) return false; } -#if defined(WLAN_FEATURE_FILS_SK) && defined(CFG80211_FILS_SK_OFFLOAD_SUPPORT) +#if defined(WLAN_FEATURE_FILS_SK) && \ + (defined(CFG80211_FILS_SK_OFFLOAD_SUPPORT) || \ + (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 12, 0))) /** * wlan_hdd_get_fils_auth_type() - API to get FILS auth type * @auth: enum of auth type @@ -18427,7 +18438,8 @@ static int wlan_hdd_cfg80211_add_station(struct wiphy *wiphy, return ret; } -#ifdef CFG80211_FILS_SK_OFFLOAD_SUPPORT +#if defined(CFG80211_FILS_SK_OFFLOAD_SUPPORT) || \ + (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 12, 0)) /* * wlan_hdd_is_pmksa_valid: API to validate pmksa * @pmksa: pointer to cfg80211_pmksa structure diff --git a/core/hdd/src/wlan_hdd_main.c b/core/hdd/src/wlan_hdd_main.c index 130e2d7994ca..b5ff9ff8c954 100644 --- a/core/hdd/src/wlan_hdd_main.c +++ b/core/hdd/src/wlan_hdd_main.c @@ -4706,9 +4706,10 @@ struct cfg80211_bss *hdd_cfg80211_get_bss(struct wiphy *wiphy, } #endif -#if defined CFG80211_CONNECT_BSS +#if defined CFG80211_CONNECT_BSS || \ + (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 7, 0)) #if defined CFG80211_CONNECT_TIMEOUT_REASON_CODE || \ - (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 10, 0)) + (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 11, 0)) /** * hdd_convert_timeout_reason() - Convert to kernel specific enum * @timeout_reason: reason for connect timeout @@ -4784,7 +4785,8 @@ static void __hdd_connect_bss(struct net_device *dev, const u8 *bssid, nl_timeout_reason); } #else -#if defined CFG80211_CONNECT_TIMEOUT +#if defined CFG80211_CONNECT_TIMEOUT || \ + (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 8, 0)) static void hdd_cfg80211_connect_timeout(struct net_device *dev, const u8 *bssid, tSirResultCodes timeout_reason) @@ -4821,7 +4823,8 @@ static void __hdd_connect_bss(struct net_device *dev, const u8 *bssid, * * Return: Void */ -#if defined CFG80211_CONNECT_TIMEOUT +#if defined CFG80211_CONNECT_TIMEOUT || \ + (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 8, 0)) static void hdd_connect_bss(struct net_device *dev, const u8 *bssid, struct cfg80211_bss *bss, const u8 *req_ie, size_t req_ie_len, const u8 *resp_ie, @@ -4848,9 +4851,11 @@ static void hdd_connect_bss(struct net_device *dev, const u8 *bssid, } #endif -#ifdef WLAN_FEATURE_FILS_SK -#ifdef CFG80211_CONNECT_DONE -#ifdef CFG80211_FILS_SK_OFFLOAD_SUPPORT +#if defined(WLAN_FEATURE_FILS_SK) +#if defined(CFG80211_CONNECT_DONE) || \ + (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 12, 0)) +#if defined(CFG80211_FILS_SK_OFFLOAD_SUPPORT) || \ + (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 12, 0)) /** * hdd_populate_fils_params() - Populate FILS keys to connect response * @fils_params: connect response to supplicant @@ -5035,7 +5040,9 @@ hdd_connect_done(struct net_device *dev, const u8 *bssid, #endif #endif -#if defined(CFG80211_CONNECT_DONE) && defined(WLAN_FEATURE_FILS_SK) +#if defined(WLAN_FEATURE_FILS_SK) && \ + (defined(CFG80211_CONNECT_DONE) || \ + (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 7, 0))) /** * hdd_fils_update_connect_results() - API to send fils connection status to * supplicant.