qcacld-3.0: Add support to handle TDLS event in WOW mode

qcacld-2.0 to qcacld-3.0 propagation.

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.

Git-commit: 9cd6b405b3b75ff59febc30b5d8a6374b3f69675
Change-Id: I3649bfdf4381f49483a3ffe2c80d5339b52a3764
CRs-Fixed: 1009456
diff --git a/core/wma/src/wma_features.c b/core/wma/src/wma_features.c
index bfe1953..c559de4 100644
--- a/core/wma/src/wma_features.c
+++ b/core/wma/src/wma_features.c
@@ -2619,6 +2619,9 @@
 	case WOW_REASON_NAN_DATA:
 		event_id = wma_ndp_get_eventid_from_tlvtag(tag);
 		break;
+	case WOW_REASON_TDLS_CONN_TRACKER_EVENT:
+		event_id = WOW_TDLS_CONN_TRACKER_EVENT;
+		break;
 	default:
 		WMA_LOGD(FL("Unexpected WOW reason : %s(%d)"),
 			 wma_wow_wake_reason_str(reason), reason);
@@ -3355,6 +3358,16 @@
 		 */
 		WMA_LOGD(FL("Host woken up for OEM Response event"));
 		break;
+#ifdef FEATURE_WLAN_TDLS
+	case WOW_REASON_TDLS_CONN_TRACKER_EVENT:
+		WMA_LOGD("Host woken up because of TDLS event");
+		if (param_buf->wow_packet_buffer)
+			wma_tdls_event_handler(handle,
+				wmi_cmd_struct_ptr, wow_buf_pkt_len);
+		else
+			WMA_LOGD("No wow_packet_buffer present");
+		break;
+#endif
 	default:
 		break;
 	}