From 452feb46d4023e96451332ace00d03b4dee4a38f Mon Sep 17 00:00:00 2001 From: Subhash Madyastha Date: Fri, 3 Aug 2018 14:54:06 +0530 Subject: [PATCH] qcacmn: Append wbuf len by struct scan_offset len Alter the wbuf length based on the scan_offset_time set in the host to FW. This will avoid sending incorrect payload to the FW. Change-Id: I0033dcab7e38fe7f107180294cb3cbaaf0c9d45e CRs-Fixed: 2134748 --- wmi/src/wmi_unified_non_tlv.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/wmi/src/wmi_unified_non_tlv.c b/wmi/src/wmi_unified_non_tlv.c index ddcda5b12a5e..d7ec871fdc3c 100644 --- a/wmi/src/wmi_unified_non_tlv.c +++ b/wmi/src/wmi_unified_non_tlv.c @@ -1925,6 +1925,9 @@ static QDF_STATUS send_scan_start_cmd_non_tlv(wmi_unified_t wmi_handle, len += sizeof(wmi_bssid_list) + (param->num_bssid - 1) * sizeof(wmi_mac_addr); } + if (param->scan_offset_time) { + len += sizeof(wmi_scan_start_offset); + } if (param->extraie.len) { i = param->extraie.len % sizeof(uint32_t); if (i) @@ -2072,7 +2075,7 @@ static QDF_STATUS send_scan_start_cmd_non_tlv(wmi_unified_t wmi_handle, param->num_bssid)/sizeof(uint32_t)); } if (param->scan_offset_time) { - offset = sizeof(param->scan_offset_time) / sizeof(A_UINT32); + offset = sizeof(param->scan_offset_time) / sizeof(uint32_t); scan_start_offset = (wmi_scan_start_offset *)tmp_ptr; scan_start_offset->tag = WMI_SCAN_START_OFFSET_TAG; scan_start_offset->num_offset = offset;