Эх сурвалжийг харах

qcacmn: Trigger recovery when WMI command is sent in wow mode

Trigger recovery when WMI command is sent in wow mode

Change-Id: I65efe5601e15055c5407f085e1fdcae5b28d6b81
CRs-Fixed: 3372322
Pragaspathi Thilagaraj 2 жил өмнө
parent
commit
0faa9d7218

+ 3 - 0
qdf/inc/qdf_types.h

@@ -1599,6 +1599,8 @@ enum qdf_suspend_type {
  * @QDF_SELF_PEER_DEL_FAILED: Failed to send self peer deletion cmd to fw
  * @QDF_SELF_PEER_DEL_FAILED: Failed to send self peer deletion cmd to fw
  * @QDF_DEL_SELF_STA_FAILED: Received del self sta without del bss
  * @QDF_DEL_SELF_STA_FAILED: Received del self sta without del bss
  * @QDF_FLUSH_LOGS : Recovery needed when sending flush completion to userspace
  * @QDF_FLUSH_LOGS : Recovery needed when sending flush completion to userspace
+ * @QDF_WMI_CMD_SENT_DURING_SUSPEND: WMI command is received when target is
+ * suspended
  */
  */
 enum qdf_hang_reason {
 enum qdf_hang_reason {
 	QDF_REASON_UNSPECIFIED,
 	QDF_REASON_UNSPECIFIED,
@@ -1635,6 +1637,7 @@ enum qdf_hang_reason {
 	QDF_SELF_PEER_DEL_FAILED,
 	QDF_SELF_PEER_DEL_FAILED,
 	QDF_DEL_SELF_STA_FAILED,
 	QDF_DEL_SELF_STA_FAILED,
 	QDF_FLUSH_LOGS,
 	QDF_FLUSH_LOGS,
+	QDF_WMI_CMD_SENT_DURING_SUSPEND,
 };
 };
 
 
 /**
 /**

+ 3 - 1
wmi/src/wmi_unified.c

@@ -2039,7 +2039,9 @@ QDF_STATUS wmi_unified_cmd_send_fl(wmi_unified_t wmi_handle, wmi_buf_t buf,
 		   !wmi_is_pm_resume_cmd(cmd_id) &&
 		   !wmi_is_pm_resume_cmd(cmd_id) &&
 		   !wmi_is_legacy_d0wow_disable_cmd(buf, cmd_id)) {
 		   !wmi_is_legacy_d0wow_disable_cmd(buf, cmd_id)) {
 			wmi_nofl_err("Target is suspended (via %s:%u)",
 			wmi_nofl_err("Target is suspended (via %s:%u)",
-					func, line);
+				     func, line);
+			qdf_trigger_self_recovery(wmi_handle->soc->wmi_psoc,
+						  QDF_WMI_CMD_SENT_DURING_SUSPEND);
 		return QDF_STATUS_E_BUSY;
 		return QDF_STATUS_E_BUSY;
 	}
 	}