summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--wmi/inc/wmi_unified_param.h1
-rw-r--r--wmi/src/wmi_unified_tlv.c12
2 files changed, 9 insertions, 4 deletions
diff --git a/wmi/inc/wmi_unified_param.h b/wmi/inc/wmi_unified_param.h
index 5aec61113eae..9ead04fe1023 100644
--- a/wmi/inc/wmi_unified_param.h
+++ b/wmi/inc/wmi_unified_param.h
@@ -1907,6 +1907,7 @@ struct roam_offload_scan_params {
bool fw_pmksa_cache;
#endif
bool is_ese_assoc;
+ bool is_11r_assoc;
struct mobility_domain_info mdid;
#ifndef WMI_NON_TLV_SUPPORT
/* THis is not available in non tlv target.
diff --git a/wmi/src/wmi_unified_tlv.c b/wmi/src/wmi_unified_tlv.c
index 178f74b1fc5f..2f5fb84536ac 100644
--- a/wmi/src/wmi_unified_tlv.c
+++ b/wmi/src/wmi_unified_tlv.c
@@ -4681,7 +4681,8 @@ QDF_STATUS send_roam_scan_offload_mode_cmd_tlv(wmi_unified_t wmi_handle,
if ((auth_mode != WMI_AUTH_NONE) &&
((auth_mode != WMI_AUTH_OPEN) ||
(auth_mode == WMI_AUTH_OPEN &&
- roam_req->mdid.mdie_present) ||
+ roam_req->mdid.mdie_present &&
+ roam_req->is_11r_assoc) ||
roam_req->is_ese_assoc)) {
len += WMI_TLV_HDR_SIZE;
if (roam_req->is_ese_assoc)
@@ -4690,7 +4691,8 @@ QDF_STATUS send_roam_scan_offload_mode_cmd_tlv(wmi_unified_t wmi_handle,
else if (auth_mode == WMI_AUTH_FT_RSNA ||
auth_mode == WMI_AUTH_FT_RSNA_PSK ||
(auth_mode == WMI_AUTH_OPEN &&
- roam_req->mdid.mdie_present))
+ roam_req->mdid.mdie_present &&
+ roam_req->is_11r_assoc))
len +=
sizeof(wmi_roam_11r_offload_tlv_param);
else
@@ -4810,7 +4812,8 @@ QDF_STATUS send_roam_scan_offload_mode_cmd_tlv(wmi_unified_t wmi_handle,
if ((auth_mode != WMI_AUTH_NONE) &&
((auth_mode != WMI_AUTH_OPEN) ||
(auth_mode == WMI_AUTH_OPEN
- && roam_req->mdid.mdie_present) ||
+ && roam_req->mdid.mdie_present &&
+ roam_req->is_11r_assoc) ||
roam_req->is_ese_assoc)) {
if (roam_req->is_ese_assoc) {
WMITLV_SET_HDR(buf_ptr, WMITLV_TAG_ARRAY_STRUC,
@@ -4839,7 +4842,8 @@ QDF_STATUS send_roam_scan_offload_mode_cmd_tlv(wmi_unified_t wmi_handle,
} else if (auth_mode == WMI_AUTH_FT_RSNA
|| auth_mode == WMI_AUTH_FT_RSNA_PSK
|| (auth_mode == WMI_AUTH_OPEN
- && roam_req->mdid.mdie_present)) {
+ && roam_req->mdid.mdie_present &&
+ roam_req->is_11r_assoc)) {
WMITLV_SET_HDR(buf_ptr, WMITLV_TAG_ARRAY_STRUC,
0);
buf_ptr += WMI_TLV_HDR_SIZE;