Browse Source

qcacmn: Send link stats command over QMI for moselle

Currently host sends WMI_REQUEST_LINK_STATS_CMDID for
SAP over WMI to fw and as fw doesn't support this command
over WMI for moselle it does forced assert.

To address this issue send WMI_REQUEST_LINK_STATS_CMDID
command over QMI to fw for moselle.

Change-Id: I03c9daee1d561d69bb5caf195f8e06ce5e4a72fc
CRs-Fixed: 3394792
Asutosh Mohapatra 2 years ago
parent
commit
7770f21a7a
1 changed files with 15 additions and 2 deletions
  1. 15 2
      wmi/src/wmi_unified_tlv.c

+ 15 - 2
wmi/src/wmi_unified_tlv.c

@@ -6660,6 +6660,7 @@ static QDF_STATUS send_process_ll_stats_get_cmd_tlv(wmi_unified_t wmi_handle,
 	wmi_buf_t buf;
 	uint8_t *buf_ptr;
 	int ret;
+	bool is_link_stats_over_qmi;
 
 	len = sizeof(*cmd);
 	buf = wmi_buf_alloc(wmi_handle, len);
@@ -6688,8 +6689,20 @@ static QDF_STATUS send_process_ll_stats_get_cmd_tlv(wmi_unified_t wmi_handle,
 		 QDF_MAC_ADDR_REF(get_req->peer_macaddr.bytes));
 
 	wmi_mtrace(WMI_REQUEST_LINK_STATS_CMDID, cmd->vdev_id, 0);
-	ret = wmi_unified_cmd_send_pm_chk(wmi_handle, buf, len,
-					  WMI_REQUEST_LINK_STATS_CMDID, true);
+	is_link_stats_over_qmi = is_service_enabled_tlv(
+			wmi_handle,
+			WMI_SERVICE_UNIFIED_LL_GET_STA_OVER_QMI_SUPPORT);
+
+	if (is_link_stats_over_qmi) {
+		ret = wmi_unified_cmd_send_over_qmi(
+					wmi_handle, buf, len,
+					WMI_REQUEST_LINK_STATS_CMDID);
+	} else {
+		ret = wmi_unified_cmd_send_pm_chk(
+					wmi_handle, buf, len,
+					WMI_REQUEST_LINK_STATS_CMDID, true);
+	}
+
 	if (ret) {
 		wmi_buf_free(buf);
 		return QDF_STATUS_E_FAILURE;