浏览代码

qcacmn: Add support for NAN enable rsp in non-dbs platform

Currently, in non-dbs platforms, firmware controls NAN enable/disable.
To enable NAN in non-dbs platform, host driver sends NAN generic
request to firmware and firmware enables NAN and provides generic
response to that.
But for some legacy platforms, requires enable NAN in host.
For this, firmware adds new TLV for NAN enable response and
sends with NAN generic response. Host extracts the NAN enable
response parameters from NAN generic response packet.

Change-Id: I1f4460137913780d4c262b5e40342dbb0b9a87c7
CRs-Fixed: 3263746
Rahul Gusain 2 年之前
父节点
当前提交
8e01b67f81
共有 1 个文件被更改,包括 11 次插入8 次删除
  1. 11 8
      wmi/src/wmi_unified_nan_tlv.c

+ 11 - 8
wmi/src/wmi_unified_nan_tlv.c

@@ -75,18 +75,21 @@ extract_nan_event_rsp_tlv(wmi_unified_t wmi_handle, void *evt_buf,
 	}
 	nan_msg_hdr = (nan_msg_header_t *)event->data;
 
-	if (!wmi_service_enabled(wmi_handle, wmi_service_nan_dbs_support) &&
-	    !wmi_service_enabled(wmi_handle, wmi_service_nan_disable_support)) {
-		evt_params->evt_type = nan_event_id_generic_rsp;
-		return QDF_STATUS_SUCCESS;
-	}
-
 	switch (nan_msg_hdr->msg_id) {
 	case NAN_MSG_ID_ENABLE_RSP:
 		nan_evt_info = event->event_info;
 		if (!nan_evt_info) {
-			wmi_err("Fail: NAN enable rsp event info Null");
-			return QDF_STATUS_E_INVAL;
+			if (!wmi_service_enabled(wmi_handle,
+						 wmi_service_nan_dbs_support) &&
+			    !wmi_service_enabled(wmi_handle,
+						 wmi_service_nan_disable_support
+						 )) {
+				evt_params->evt_type = nan_event_id_generic_rsp;
+				break;
+			} else {
+				wmi_err("Fail: NAN enable rsp event info Null");
+				return QDF_STATUS_E_INVAL;
+			}
 		}
 		evt_params->evt_type = nan_event_id_enable_rsp;
 		evt_params->mac_id = nan_evt_info->mac_id;