summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSridhar Selvaraj <sselvara@codeaurora.org>2017-08-19 10:12:03 +0530
committerGerrit - the friendly Code Review server <code-review@localhost>2017-08-22 12:53:33 -0700
commit43fb8afac1cf695537d66d74cfb166ec8ba333bc (patch)
tree9a6892b9b708beafc529044cbee7138ecf772332
parentcd88556cb113c6f1e772fe55a4979601e647951e (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.h15
-rw-r--r--core/hdd/src/wlan_hdd_assoc.c34
-rw-r--r--core/hdd/src/wlan_hdd_cfg80211.c4
-rw-r--r--core/hdd/src/wlan_hdd_main.c6
-rw-r--r--core/sme/inc/csr_api.h2
-rw-r--r--core/sme/src/common/sme_api.c2
-rw-r--r--core/sme/src/csr/csr_api_roam.c2
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)
{