summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorManikandaraja Venkatachalapathy <vmanikan@qca.qualcomm.com>2014-07-09 17:15:53 -0700
committerAkash Patel <c_akashp@qca.qualcomm.com>2014-07-10 21:44:59 -0700
commita1330bf509485a031c1c92ef2e0afdeca233efff (patch)
treebe01d7bab5ff315932a7e60df0a1e902298692c1
parent548ac90f9ef5ea91418467fd9fcca9aa48ae6cdf (diff)
qcacld: WMA: Fix tlv header for extscan api's
Set tlv header to null for reset bssid hotlist and reset significant change. Change-Id: I5aae77d97ac59d4abbbcd5cb5ced9985a8282d65 CRs-Fixed: 691424
-rw-r--r--CORE/SERVICES/WMA/wma.c28
1 files changed, 28 insertions, 0 deletions
diff --git a/CORE/SERVICES/WMA/wma.c b/CORE/SERVICES/WMA/wma.c
index a427e9142a81..c815dad1ed08 100644
--- a/CORE/SERVICES/WMA/wma.c
+++ b/CORE/SERVICES/WMA/wma.c
@@ -2002,6 +2002,7 @@ static int wma_extscan_capabilities_event_handler (void *handle,
dest_capab->scanBuckets = src_cache->max_buckets;
dest_capab->scanCacheSize = src_cache->scan_cache_entry_size;
dest_capab->maxHotlistAPs = src_hotlist->max_hotlist_entries;
+ dest_capab->status = 0;
WMA_LOGD("%s: Capabilities: scanBuckets: %d,"
"maxHotlistAPs: %d,scanCacheSize: %d",
@@ -19660,6 +19661,7 @@ VOS_STATUS wma_extscan_stop_hotlist_monitor(tp_wma_handle wma,
wmi_buf_t wmi_buf;
uint32_t len;
u_int8_t *buf_ptr;
+ int hotlist_entries = 0;
if (!wma || !wma->wmi_handle) {
WMA_LOGE("%s: WMA is closed, can not issue cmd",
@@ -19678,6 +19680,11 @@ VOS_STATUS wma_extscan_stop_hotlist_monitor(tp_wma_handle wma,
return VOS_STATUS_E_FAILURE;
}
len = sizeof(*cmd);
+
+ /* reset bssid hotlist with tlv set to 0 */
+ len += WMI_TLV_HDR_SIZE;
+ len += hotlist_entries * sizeof(wmi_extscan_hotlist_entry);
+
wmi_buf = wmi_buf_alloc(wma->wmi_handle, len);
if (!wmi_buf) {
WMA_LOGE("%s: wmi_buf_alloc failed", __func__);
@@ -19696,6 +19703,13 @@ VOS_STATUS wma_extscan_stop_hotlist_monitor(tp_wma_handle wma,
cmd->vdev_id = photlist_reset->sessionId;
cmd->mode = 0;
+ buf_ptr += sizeof(*cmd);
+ WMITLV_SET_HDR(buf_ptr,
+ WMITLV_TAG_ARRAY_STRUC,
+ hotlist_entries * sizeof(wmi_extscan_hotlist_entry));
+ buf_ptr += WMI_TLV_HDR_SIZE +
+ (hotlist_entries * sizeof(wmi_extscan_hotlist_entry));
+
if (wmi_unified_cmd_send(wma->wmi_handle, wmi_buf, len,
WMI_EXTSCAN_CONFIGURE_HOTLIST_MONITOR_CMDID)) {
WMA_LOGE("%s: failed to command", __func__);
@@ -19820,6 +19834,7 @@ VOS_STATUS wma_extscan_stop_change_monitor(tp_wma_handle wma,
wmi_buf_t wmi_buf;
uint32_t len;
u_int8_t *buf_ptr;
+ int change_list = 0;
if (!wma || !wma->wmi_handle) {
WMA_LOGE("%s: WMA is closed, can not issue cmd",
@@ -19833,6 +19848,11 @@ VOS_STATUS wma_extscan_stop_change_monitor(tp_wma_handle wma,
return VOS_STATUS_E_FAILURE;
}
len = sizeof(*cmd);
+
+ /* reset significant change tlv is set to 0 */
+ len += WMI_TLV_HDR_SIZE;
+ len += change_list *
+ sizeof(wmi_extscan_wlan_change_bssid_param);
wmi_buf = wmi_buf_alloc(wma->wmi_handle, len);
if (!wmi_buf) {
WMA_LOGE("%s: wmi_buf_alloc failed", __func__);
@@ -19850,6 +19870,14 @@ VOS_STATUS wma_extscan_stop_change_monitor(tp_wma_handle wma,
cmd->vdev_id = pResetReq->sessionId;
cmd->mode = 0;
+ buf_ptr += sizeof(*cmd);
+ WMITLV_SET_HDR(buf_ptr,
+ WMITLV_TAG_ARRAY_STRUC,
+ change_list *
+ sizeof(wmi_extscan_wlan_change_bssid_param));
+ buf_ptr += WMI_TLV_HDR_SIZE + (change_list *
+ sizeof(wmi_extscan_wlan_change_bssid_param));
+
if (wmi_unified_cmd_send(wma->wmi_handle, wmi_buf, len,
WMI_EXTSCAN_CONFIGURE_WLAN_CHANGE_MONITOR_CMDID)) {
WMA_LOGE("%s: failed to command", __func__);