diff --git a/wmi/inc/wmi_unified_param.h b/wmi/inc/wmi_unified_param.h index 306aad6ed988..324e13c4e7f5 100644 --- a/wmi/inc/wmi_unified_param.h +++ b/wmi/inc/wmi_unified_param.h @@ -1693,6 +1693,7 @@ typedef struct { * @rokh_id: r0kh id * @roam_key_mgmt_offload_enabled: roam offload flag * @auth_mode: authentication mode + * @okc_enabled: enable opportunistic key caching * @is_ese_assoc: flag to determine ese assoc * @mdid: mobility domain info * @roam_offload_params: roam offload tlv params @@ -1715,6 +1716,7 @@ 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; #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 03fe000bf98b..9b442f7bbeca 100644 --- a/wmi/src/wmi_unified_tlv.c +++ b/wmi/src/wmi_unified_tlv.c @@ -4282,7 +4282,8 @@ 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) { + if (roam_req->roam_key_mgmt_offload_enabled && + roam_req->okc_enabled) { WMI_SET_ROAM_OFFLOAD_OKC_ENABLED (roam_offload_11i->flags); WMI_LOGE("LFR3:OKC Enabled");