diff options
| author | Deepak Dhamdhere <ddhamdhe@codeaurora.org> | 2017-02-09 19:40:26 -0800 |
|---|---|---|
| committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2017-02-20 20:44:28 -0800 |
| commit | 7b97cdc92e142c42664a91dcebeeb6b9e2ee9838 (patch) | |
| tree | 54587f1929378eb9d9bf5dbadfd03f572f551c64 | |
| parent | 16bad8b9a12810d470d16ad99d91214a2c4e0d87 (diff) | |
qcacmn: Enable PMK cache and OKC with RSO command
Firmware now supports PMK caching in addition to OKC
(Opportunistic Key Caching). Use additional bit flags to enable
PMK caching in PMK configuration in roam offload scan request.
CRs-Fixed: 2004963
Change-Id: I536a4d45d5d915ab02dc13db6124a1ce8949fe48
| -rw-r--r-- | wmi/inc/wmi_unified_param.h | 8 | ||||
| -rw-r--r-- | wmi/src/wmi_unified_tlv.c | 17 |
2 files changed, 19 insertions, 6 deletions
diff --git a/wmi/inc/wmi_unified_param.h b/wmi/inc/wmi_unified_param.h index 6c71cdfb9cbb..f393b0c572b1 100644 --- a/wmi/inc/wmi_unified_param.h +++ b/wmi/inc/wmi_unified_param.h @@ -1707,7 +1707,7 @@ struct mobility_domain_info { #define WMI_HOST_ROAM_OFFLOAD_NUM_MCS_SET (16) /* This TLV will be filled only in case roam offload - * for wpa2-psk/okc/ese/11r is enabled */ + * for wpa2-psk/pmkid/ese/11r is enabled */ typedef struct { /* * TLV tag and len; tag equals @@ -1750,7 +1750,8 @@ typedef struct { * @rokh_id: r0kh id * @roam_key_mgmt_offload_enabled: roam offload flag * @auth_mode: authentication mode - * @okc_enabled: enable opportunistic key caching + * @fw_okc: use OKC in firmware + * @fw_pmksa_cache: use PMKSA cache in firmware * @is_ese_assoc: flag to determine ese assoc * @mdid: mobility domain info * @roam_offload_params: roam offload tlv params @@ -1773,7 +1774,8 @@ struct roam_offload_scan_params { uint8_t rokh_id[WMI_ROAM_R0KH_ID_MAX_LEN]; uint8_t roam_key_mgmt_offload_enabled; int auth_mode; - bool okc_enabled; + bool fw_okc; + bool fw_pmksa_cache; #endif bool is_ese_assoc; struct mobility_domain_info mdid; diff --git a/wmi/src/wmi_unified_tlv.c b/wmi/src/wmi_unified_tlv.c index c764fa4cf13d..704fbba0b63a 100644 --- a/wmi/src/wmi_unified_tlv.c +++ b/wmi/src/wmi_unified_tlv.c @@ -4564,15 +4564,26 @@ QDF_STATUS send_roam_scan_offload_mode_cmd_tlv(wmi_unified_t wmi_handle, buf_ptr += WMI_TLV_HDR_SIZE; roam_offload_11i = (wmi_roam_11i_offload_tlv_param *) buf_ptr; + if (roam_req->roam_key_mgmt_offload_enabled && - roam_req->okc_enabled) { + roam_req->fw_okc) { WMI_SET_ROAM_OFFLOAD_OKC_ENABLED (roam_offload_11i->flags); - WMI_LOGE("LFR3:OKC Enabled"); + WMI_LOGE("LFR3:OKC enabled"); } else { WMI_SET_ROAM_OFFLOAD_OKC_DISABLED (roam_offload_11i->flags); - WMI_LOGE("LFR3:OKC Disabled"); + WMI_LOGE("LFR3:OKC disabled"); + } + if (roam_req->roam_key_mgmt_offload_enabled && + roam_req->fw_pmksa_cache) { + WMI_SET_ROAM_OFFLOAD_PMK_CACHE_ENABLED + (roam_offload_11i->flags); + WMI_LOGE("LFR3:PMKSA caching enabled"); + } else { + WMI_SET_ROAM_OFFLOAD_PMK_CACHE_DISABLED + (roam_offload_11i->flags); + WMI_LOGE("LFR3:PMKSA caching disabled"); } qdf_mem_copy(roam_offload_11i->pmk, |
