summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--wmi/src/wmi_unified_tlv.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/wmi/src/wmi_unified_tlv.c b/wmi/src/wmi_unified_tlv.c
index 049c11ca3efc..83b4a8be28f4 100644
--- a/wmi/src/wmi_unified_tlv.c
+++ b/wmi/src/wmi_unified_tlv.c
@@ -4226,6 +4226,10 @@ QDF_STATUS send_roam_scan_offload_mode_cmd_tlv(wmi_unified_t wmi_handle,
}
#endif /* WLAN_FEATURE_ROAM_OFFLOAD */
+ if (roam_req->mode == (WMI_ROAM_SCAN_MODE_NONE
+ |WMI_ROAM_SCAN_MODE_ROAMOFFLOAD))
+ len = sizeof(wmi_roam_scan_mode_fixed_param);
+
buf = wmi_buf_alloc(wmi_handle, len);
if (!buf) {
WMI_LOGE("%s : wmi_buf_alloc failed", __func__);
@@ -4242,8 +4246,13 @@ QDF_STATUS send_roam_scan_offload_mode_cmd_tlv(wmi_unified_t wmi_handle,
roam_scan_mode_fp->roam_scan_mode = roam_req->mode;
roam_scan_mode_fp->vdev_id = roam_req->vdev_id;
+ if (roam_req->mode == (WMI_ROAM_SCAN_MODE_NONE
+ |WMI_ROAM_SCAN_MODE_ROAMOFFLOAD))
+ goto send_roam_scan_mode_cmd;
+
/* Fill in scan parameters suitable for roaming scan */
buf_ptr += sizeof(wmi_roam_scan_mode_fixed_param);
+
qdf_mem_copy(buf_ptr, scan_cmd_fp,
sizeof(wmi_start_scan_cmd_fixed_param));
/* Ensure there is no additional IEs */
@@ -4453,6 +4462,8 @@ QDF_STATUS send_roam_scan_offload_mode_cmd_tlv(wmi_unified_t wmi_handle,
WMITLV_GET_STRUCT_TLVLEN(0));
}
#endif /* WLAN_FEATURE_ROAM_OFFLOAD */
+
+send_roam_scan_mode_cmd:
status = wmi_unified_cmd_send(wmi_handle, buf,
len, WMI_ROAM_SCAN_MODE);
if (QDF_IS_STATUS_ERROR(status)) {