summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMasti, Narayanraddi <c_nmasti@qti.qualcomm.com>2016-05-04 18:11:57 +0530
committerAnjaneedevi Kapparapu <akappa@codeaurora.org>2016-05-06 14:14:41 +0530
commita80fce627463197cbc0aad6a89a23bc3a5ee9435 (patch)
tree8538589ddae3445d48eb2b2649e1b64bbcecddc3
parent98c57f0758e55ba9776105dfe1702ca77df08427 (diff)
qcacld-2.0: Add support to handle TDLS event in WOW mode
TDLS teardown event sent by firmware is not processed whenever host is in WOW mode which will lead to failure of TDLS teardown. Fix is to handle this event in WOW mode. Change-Id: I3649bfdf4381f49483a3ffe2c80d5339b52a3764 CRs-Fixed: 1009456
-rw-r--r--CORE/SERVICES/WMA/wma.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/CORE/SERVICES/WMA/wma.c b/CORE/SERVICES/WMA/wma.c
index 10a87b648316..4934a1c08cb0 100644
--- a/CORE/SERVICES/WMA/wma.c
+++ b/CORE/SERVICES/WMA/wma.c
@@ -20763,6 +20763,9 @@ static int wma_wow_wakeup_host_event(void *handle, u_int8_t *event,
tp_wma_handle wma = (tp_wma_handle) handle;
WMI_WOW_WAKEUP_HOST_EVENTID_param_tlvs *param_buf;
WOW_EVENT_INFO_fixed_param *wake_info;
+#ifdef FEATURE_WLAN_TDLS
+ WMI_TDLS_PEER_EVENTID_param_tlvs tdls_param;
+#endif
#ifdef FEATURE_WLAN_SCAN_PNO
struct wma_txrx_node *node;
#endif
@@ -21033,6 +21036,20 @@ static int wma_wow_wakeup_host_event(void *handle, u_int8_t *event,
WMA_LOGE(FL("wow_packet_buffer is empty"));
}
break;
+#ifdef FEATURE_WLAN_TDLS
+ case WOW_REASON_TDLS_CONN_TRACKER_EVENT:
+ if (param_buf->wow_packet_buffer) {
+ WMA_LOGD("Host woken up because of TDLS event");
+ tdls_param.fixed_param =
+ (wmi_tdls_peer_event_fixed_param *)
+ (param_buf->wow_packet_buffer + 4);
+ wma_tdls_event_handler(handle,
+ (u_int8_t *)&tdls_param, sizeof(tdls_param));
+ } else {
+ WMA_LOGD("No wow_packet_buffer present");
+ }
+ break;
+#endif
default:
break;
}