Browse Source

qcacld-3.0: Fix assert when handle wakeup event during SSR

In special case, tasklet(ksoftirqd/0) that handle WMI event was stuck
for 4 sec, SSR was triggered for timeout waiting for resume
event from FW during RTPM resume.

During SSR, cp_stats_tx_ops->inc_wake_lock_stats callback was cleared,
later WOW_WAKEUP_HOST_EVENTID was received, callback was executed, assert
happened.

Change-Id: Ib9ae7d61d1b415e9857657725ffd2ae1efd4795c
CRs-Fixed: 3165730
Jianmin Zhu 3 years ago
parent
commit
54740f84b5
1 changed files with 1 additions and 1 deletions
  1. 1 1
      components/cp_stats/dispatcher/src/wlan_cp_stats_mc_tgt_api.c

+ 1 - 1
components/cp_stats/dispatcher/src/wlan_cp_stats_mc_tgt_api.c

@@ -1199,7 +1199,7 @@ QDF_STATUS tgt_mc_cp_stats_inc_wake_lock_stats(struct wlan_objmgr_psoc *psoc,
 	struct wlan_lmac_if_cp_stats_tx_ops *tx_ops;
 
 	tx_ops = target_if_cp_stats_get_tx_ops(psoc);
-	if (!tx_ops)
+	if (!tx_ops || !tx_ops->inc_wake_lock_stats)
 		return QDF_STATUS_E_NULL_VALUE;
 
 	tx_ops->inc_wake_lock_stats(reason, stats, unspecified_wake_count);