diff options
| author | Manikandaraja Venkatachalapathy <vmanikan@qca.qualcomm.com> | 2014-07-09 17:15:53 -0700 |
|---|---|---|
| committer | Akash Patel <c_akashp@qca.qualcomm.com> | 2014-07-10 21:44:59 -0700 |
| commit | a1330bf509485a031c1c92ef2e0afdeca233efff (patch) | |
| tree | be01d7bab5ff315932a7e60df0a1e902298692c1 | |
| parent | 548ac90f9ef5ea91418467fd9fcca9aa48ae6cdf (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.c | 28 |
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__); |
