|
@@ -2052,6 +2052,32 @@ static inline void hdd_send_roamed_ind(struct net_device *dev,
|
|
}
|
|
}
|
|
#endif
|
|
#endif
|
|
|
|
|
|
|
|
+#if defined(WLAN_FEATURE_ROAM_OFFLOAD)
|
|
|
|
+void hdd_save_gtk_params(struct hdd_adapter *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);
|
|
|
|
+
|
|
|
|
+ hdd_debug("Kek len %d", kek_len);
|
|
|
|
+}
|
|
|
|
+#endif
|
|
/**
|
|
/**
|
|
* hdd_send_re_assoc_event() - send reassoc event
|
|
* hdd_send_re_assoc_event() - send reassoc event
|
|
* @dev: pointer to net device
|
|
* @dev: pointer to net device
|
|
@@ -2187,10 +2213,7 @@ static void hdd_send_re_assoc_event(struct net_device *dev,
|
|
(u8 *)pCsrRoamInfo->pbFrames + pCsrRoamInfo->nBeaconLength,
|
|
(u8 *)pCsrRoamInfo->pbFrames + pCsrRoamInfo->nBeaconLength,
|
|
pCsrRoamInfo->nAssocReqLength);
|
|
pCsrRoamInfo->nAssocReqLength);
|
|
|
|
|
|
- wlan_hdd_save_gtk_offload_params(adapter, NULL,
|
|
|
|
- pCsrRoamInfo->kek,
|
|
|
|
- pCsrRoamInfo->kek_len,
|
|
|
|
- pCsrRoamInfo->replay_ctr, true);
|
|
|
|
|
|
+ hdd_save_gtk_params(adapter, pCsrRoamInfo, true);
|
|
|
|
|
|
hdd_debug("ReAssoc Req IE dump");
|
|
hdd_debug("ReAssoc Req IE dump");
|
|
QDF_TRACE_HEX_DUMP(QDF_MODULE_ID_HDD, QDF_TRACE_LEVEL_DEBUG,
|
|
QDF_TRACE_HEX_DUMP(QDF_MODULE_ID_HDD, QDF_TRACE_LEVEL_DEBUG,
|
|
@@ -2200,7 +2223,6 @@ static void hdd_send_re_assoc_event(struct net_device *dev,
|
|
assoc_req_ies, pCsrRoamInfo->nAssocReqLength,
|
|
assoc_req_ies, pCsrRoamInfo->nAssocReqLength,
|
|
rspRsnIe, rspRsnLength,
|
|
rspRsnIe, rspRsnLength,
|
|
pCsrRoamInfo);
|
|
pCsrRoamInfo);
|
|
- hdd_debug("Kek len %d", pCsrRoamInfo->kek_len);
|
|
|
|
|
|
|
|
hdd_update_hlp_info(dev, pCsrRoamInfo);
|
|
hdd_update_hlp_info(dev, pCsrRoamInfo);
|
|
|
|
|