diff options
| author | Sridhar Selvaraj <sselvara@codeaurora.org> | 2017-08-19 10:12:03 +0530 |
|---|---|---|
| committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2017-08-22 12:53:33 -0700 |
| commit | 43fb8afac1cf695537d66d74cfb166ec8ba333bc (patch) | |
| tree | 9a6892b9b708beafc529044cbee7138ecf772332 | |
| parent | cd88556cb113c6f1e772fe55a4979601e647951e (diff) | |
qcacld-3.0: Fix compilation issues in FILS roaming
Fix compilation issues in FILS roaming
Change-Id: Ib33873fbace5ad9a4788b7968562b934270035a1
CRs-Fixed: 2095625
| -rw-r--r-- | core/hdd/inc/wlan_hdd_assoc.h | 15 | ||||
| -rw-r--r-- | core/hdd/src/wlan_hdd_assoc.c | 34 | ||||
| -rw-r--r-- | core/hdd/src/wlan_hdd_cfg80211.c | 4 | ||||
| -rw-r--r-- | core/hdd/src/wlan_hdd_main.c | 6 | ||||
| -rw-r--r-- | core/sme/inc/csr_api.h | 2 | ||||
| -rw-r--r-- | core/sme/src/common/sme_api.c | 2 | ||||
| -rw-r--r-- | core/sme/src/csr/csr_api_roam.c | 2 |
7 files changed, 51 insertions, 14 deletions
diff --git a/core/hdd/inc/wlan_hdd_assoc.h b/core/hdd/inc/wlan_hdd_assoc.h index 9cb4a27780af..7ea7fabd26b2 100644 --- a/core/hdd/inc/wlan_hdd_assoc.h +++ b/core/hdd/inc/wlan_hdd_assoc.h @@ -349,11 +349,26 @@ QDF_STATUS hdd_roam_deregister_sta(hdd_adapter_t *adapter, uint8_t sta_id); #ifdef WLAN_FEATURE_ROAM_OFFLOAD void hdd_wma_send_fastreassoc_cmd(hdd_adapter_t *adapter, const tSirMacAddr bssid, int channel); +/** + * hdd_save_gtk_params() - Save GTK offload params + * @adapter: HDD adapter + * @csr_roam_info: CSR roam info + * @is_reassoc: boolean to indicate roaming + * + * Return: None + */ +void hdd_save_gtk_params(hdd_adapter_t *adapter, + tCsrRoamInfo *csr_roam_info, bool is_reassoc); #else static inline void hdd_wma_send_fastreassoc_cmd(hdd_adapter_t *adapter, const tSirMacAddr bssid, int channel) { } +static inline void hdd_save_gtk_params(hdd_adapter_t *adapter, + tCsrRoamInfo *csr_roam_info, + bool is_reassoc) +{ +} #endif #endif diff --git a/core/hdd/src/wlan_hdd_assoc.c b/core/hdd/src/wlan_hdd_assoc.c index 62046bfb63f3..b745cd49f775 100644 --- a/core/hdd/src/wlan_hdd_assoc.c +++ b/core/hdd/src/wlan_hdd_assoc.c @@ -1932,6 +1932,33 @@ static inline void hdd_send_roamed_ind(struct net_device *dev, } #endif +#if defined(WLAN_FEATURE_ROAM_OFFLOAD) +void hdd_save_gtk_params(hdd_adapter_t *adapter, + tCsrRoamInfo *csr_roam_info, bool is_reassoc) +{ + uint8_t *kek; + uint32_t kek_len; + + if (is_reassoc) { + kek = csr_roam_info->kek; + kek_len = csr_roam_info->kek_len; + } else { + /* + * This should come for FILS case only. + * Caller should make sure fils_join_rsp is + * not NULL, if there is need to use else where. + */ + kek = csr_roam_info->fils_join_rsp->kek; + kek_len = csr_roam_info->fils_join_rsp->kek_len; + } + + wlan_hdd_save_gtk_offload_params(adapter, NULL, kek, kek_len, + csr_roam_info->replay_ctr, + true, GTK_OFFLOAD_ENABLE); + + hdd_debug("Kek len %d", kek_len); +} +#endif /** * hdd_send_re_assoc_event() - send reassoc event * @dev: pointer to net device @@ -2057,11 +2084,7 @@ static void hdd_send_re_assoc_event(struct net_device *dev, (u8 *)pCsrRoamInfo->pbFrames + pCsrRoamInfo->nBeaconLength, pCsrRoamInfo->nAssocReqLength); - wlan_hdd_save_gtk_offload_params(pAdapter, NULL, - pCsrRoamInfo->kek, - pCsrRoamInfo->kek_len, - pCsrRoamInfo->replay_ctr, - true, GTK_OFFLOAD_ENABLE); + hdd_save_gtk_params(pAdapter, pCsrRoamInfo, true); hdd_debug("ReAssoc Req IE dump"); QDF_TRACE_HEX_DUMP(QDF_MODULE_ID_HDD, QDF_TRACE_LEVEL_DEBUG, @@ -2071,7 +2094,6 @@ static void hdd_send_re_assoc_event(struct net_device *dev, assoc_req_ies, pCsrRoamInfo->nAssocReqLength, rspRsnIe, rspRsnLength, pCsrRoamInfo); - hdd_debug("Kek len %d", pCsrRoamInfo->kek_len); hdd_update_hlp_info(dev, pCsrRoamInfo); diff --git a/core/hdd/src/wlan_hdd_cfg80211.c b/core/hdd/src/wlan_hdd_cfg80211.c index 49c4fdb80e99..d230d6159243 100644 --- a/core/hdd/src/wlan_hdd_cfg80211.c +++ b/core/hdd/src/wlan_hdd_cfg80211.c @@ -4565,7 +4565,7 @@ void wlan_hdd_save_gtk_offload_params(hdd_adapter_t *adapter, } #endif -#ifdef WLAN_FEATURE_FILS_SK +#if defined(WLAN_FEATURE_FILS_SK) && defined(WLAN_FEATURE_ROAM_OFFLOAD) /** * wlan_hdd_add_fils_params_roam_auth_event() - Adds FILS params in roam auth * @skb: SK buffer @@ -18977,6 +18977,7 @@ void wlan_hdd_clear_link_layer_stats(hdd_adapter_t *adapter) } #if defined(WLAN_FEATURE_FILS_SK) &&\ + defined(CFG80211_FILS_SK_OFFLOAD_SUPPORT) &&\ (defined(CFG80211_UPDATE_CONNECT_PARAMS) ||\ (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 10, 0))) @@ -19396,6 +19397,7 @@ static struct cfg80211_ops wlan_hdd_cfg80211_ops = { .abort_scan = wlan_hdd_cfg80211_abort_scan, #endif #if defined(WLAN_FEATURE_FILS_SK) &&\ + defined(CFG80211_FILS_SK_OFFLOAD_SUPPORT) &&\ (defined(CFG80211_UPDATE_CONNECT_PARAMS) ||\ (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 10, 0))) .update_connect_params = wlan_hdd_cfg80211_update_connect_params, diff --git a/core/hdd/src/wlan_hdd_main.c b/core/hdd/src/wlan_hdd_main.c index d586e945de5c..ea055ce44391 100644 --- a/core/hdd/src/wlan_hdd_main.c +++ b/core/hdd/src/wlan_hdd_main.c @@ -4694,11 +4694,7 @@ static void hdd_connect_done(struct net_device *dev, const u8 *bssid, roam_fils_params->fils_pmk_len, roam_fils_params->fils_pmkid, roam_info->fils_seq_num); - wlan_hdd_save_gtk_offload_params(adapter, NULL, - roam_fils_params->kek, - roam_fils_params->kek_len, - roam_info->replay_ctr, - true, GTK_OFFLOAD_ENABLE); + hdd_save_gtk_params(adapter, roam_info, false); } hdd_debug("FILS indicate connect status %d seq no %d", fils_params.status, diff --git a/core/sme/inc/csr_api.h b/core/sme/inc/csr_api.h index 2d2fa6ec77e9..26637c24e5dd 100644 --- a/core/sme/inc/csr_api.h +++ b/core/sme/inc/csr_api.h @@ -1370,6 +1370,8 @@ typedef struct tagCsrUpdateConfigParam { #define csr_roamIsRoamOffloadEnabled(pMac) \ (pMac->roam.configParam.isRoamOffloadEnabled) #define DEFAULT_REASSOC_FAILURE_TIMEOUT 1000 +#else +#define csr_roamIsRoamOffloadEnabled(pMac) false #endif #ifdef WLAN_FEATURE_ROAM_OFFLOAD diff --git a/core/sme/src/common/sme_api.c b/core/sme/src/common/sme_api.c index 2f530c678096..014551a47eb5 100644 --- a/core/sme/src/common/sme_api.c +++ b/core/sme/src/common/sme_api.c @@ -8686,7 +8686,7 @@ QDF_STATUS sme_update_fils_config(tHalHandle hal, uint8_t session_id, } csr_update_fils_config(mac, session_id, src_profile); - if (mac->roam.configParam.isRoamOffloadEnabled) { + if (csr_roamIsRoamOffloadEnabled(mac)) { sme_debug("Updating fils config to fw"); csr_roam_offload_scan(mac, session_id, ROAM_SCAN_OFFLOAD_UPDATE_CFG, diff --git a/core/sme/src/csr/csr_api_roam.c b/core/sme/src/csr/csr_api_roam.c index 392b3a743207..cf8732eacbec 100644 --- a/core/sme/src/csr/csr_api_roam.c +++ b/core/sme/src/csr/csr_api_roam.c @@ -20967,7 +20967,7 @@ void csr_roam_fill_tdls_info(tpAniSirGlobal mac_ctx, tCsrRoamInfo *roam_info, } #endif -#if defined(WLAN_FEATURE_FILS_SK) +#if defined(WLAN_FEATURE_FILS_SK) && defined(WLAN_FEATURE_ROAM_OFFLOAD) static void csr_copy_fils_join_rsp_roam_info(tCsrRoamInfo *roam_info, roam_offload_synch_ind *roam_synch_data) { |
