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
このコミットが含まれているのは:
@@ -1795,7 +1795,7 @@ struct mobility_domain_info {
|
|||||||
#define WMI_HOST_ROAM_OFFLOAD_NUM_MCS_SET (16)
|
#define WMI_HOST_ROAM_OFFLOAD_NUM_MCS_SET (16)
|
||||||
|
|
||||||
/* This TLV will be filled only in case roam offload
|
/* 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 {
|
typedef struct {
|
||||||
/*
|
/*
|
||||||
* TLV tag and len; tag equals
|
* TLV tag and len; tag equals
|
||||||
@@ -1838,7 +1838,8 @@ typedef struct {
|
|||||||
* @rokh_id: r0kh id
|
* @rokh_id: r0kh id
|
||||||
* @roam_key_mgmt_offload_enabled: roam offload flag
|
* @roam_key_mgmt_offload_enabled: roam offload flag
|
||||||
* @auth_mode: authentication mode
|
* @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
|
* @is_ese_assoc: flag to determine ese assoc
|
||||||
* @mdid: mobility domain info
|
* @mdid: mobility domain info
|
||||||
* @roam_offload_params: roam offload tlv params
|
* @roam_offload_params: roam offload tlv params
|
||||||
@@ -1861,7 +1862,8 @@ struct roam_offload_scan_params {
|
|||||||
uint8_t rokh_id[WMI_ROAM_R0KH_ID_MAX_LEN];
|
uint8_t rokh_id[WMI_ROAM_R0KH_ID_MAX_LEN];
|
||||||
uint8_t roam_key_mgmt_offload_enabled;
|
uint8_t roam_key_mgmt_offload_enabled;
|
||||||
int auth_mode;
|
int auth_mode;
|
||||||
bool okc_enabled;
|
bool fw_okc;
|
||||||
|
bool fw_pmksa_cache;
|
||||||
#endif
|
#endif
|
||||||
bool is_ese_assoc;
|
bool is_ese_assoc;
|
||||||
struct mobility_domain_info mdid;
|
struct mobility_domain_info mdid;
|
||||||
|
@@ -5436,15 +5436,26 @@ static QDF_STATUS send_roam_scan_offload_mode_cmd_tlv(wmi_unified_t wmi_handle,
|
|||||||
buf_ptr += WMI_TLV_HDR_SIZE;
|
buf_ptr += WMI_TLV_HDR_SIZE;
|
||||||
roam_offload_11i =
|
roam_offload_11i =
|
||||||
(wmi_roam_11i_offload_tlv_param *) buf_ptr;
|
(wmi_roam_11i_offload_tlv_param *) buf_ptr;
|
||||||
|
|
||||||
if (roam_req->roam_key_mgmt_offload_enabled &&
|
if (roam_req->roam_key_mgmt_offload_enabled &&
|
||||||
roam_req->okc_enabled) {
|
roam_req->fw_okc) {
|
||||||
WMI_SET_ROAM_OFFLOAD_OKC_ENABLED
|
WMI_SET_ROAM_OFFLOAD_OKC_ENABLED
|
||||||
(roam_offload_11i->flags);
|
(roam_offload_11i->flags);
|
||||||
WMI_LOGE("LFR3:OKC Enabled");
|
WMI_LOGE("LFR3:OKC enabled");
|
||||||
} else {
|
} else {
|
||||||
WMI_SET_ROAM_OFFLOAD_OKC_DISABLED
|
WMI_SET_ROAM_OFFLOAD_OKC_DISABLED
|
||||||
(roam_offload_11i->flags);
|
(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,
|
qdf_mem_copy(roam_offload_11i->pmk,
|
||||||
|
新しいイシューから参照
ユーザーをブロックする