qcacmn: Do RTPM put during cleanup in case of WMI Tx completion failure

For WMI messages RTPM get is done during HTC message send and the
corresponding put is done in Tx failure or in Tx completion handler
for Tx success case. In the case where Tx completion is not received
for WMI messages RTPM put is not done as part of the cleanup which
results in RTPM Get and PUT call out of sync issues.

To fix the issue as part of HTC cleanup do RTPM put for WMI messages
for which tx completion is not received.

Change-Id: If92f4bd8a6c104d7ccef1e33b31aa765ea6100bd
CRs-Fixed: 3315404
This commit is contained in:
Amit Mehta
2022-10-20 20:40:52 +05:30
committed by Madan Koyyalamudi
parent 6487fc4371
commit ea172ef154
5 changed files with 121 additions and 27 deletions

View File

@@ -263,8 +263,10 @@ typedef struct _HTC_TARGET {
bool htc_pkt_dbg;
#ifdef FEATURE_RUNTIME_PM
/* Runtime count for H2T msg with response */
qdf_atomic_t htc_runtime_cnt;
/* Runtime count for H2T HTT msg with response */
qdf_atomic_t htc_htt_runtime_cnt;
/* Runtime count for WMI msg*/
qdf_atomic_t htc_wmi_runtime_cnt;
#endif
/* Non flow ctrl enabled endpoints nbuf map unmap count */
uint32_t nbuf_nfc_map_count;