qcacmn: Do RTPM put during cleanup when HTT ver resp is not received

For HTT h2t message which has a response from FW, runtime
get is done in HTC layer and the corresponding runtime_put
is done as part of the HTT response processing. In a scenario
where the HTT response is not received from FW or not processed
by host, runtime_put is not done as part of cleanup and panic
is triggered due to get/put imbalance.

Fix is to do RTPM put as part of htc cleanup when the HTT
response from FW is not received or processed.

Change-Id: I17ccb7c3e2293c95f5f233d36c6ef38a75733cce
CRs-Fixed: 2779113
Dieser Commit ist enthalten in:
Yeshwanth Sriram Guntuka
2020-09-23 12:27:31 +05:30
committet von snandini
Ursprung 3213f64df6
Commit 478749a365
6 geänderte Dateien mit 84 neuen und 3 gelöschten Zeilen

Datei anzeigen

@@ -790,9 +790,23 @@ void htc_clear_bundle_stats(HTC_HANDLE HTCHandle);
#ifdef FEATURE_RUNTIME_PM
int htc_pm_runtime_get(HTC_HANDLE htc_handle);
int htc_pm_runtime_put(HTC_HANDLE htc_handle);
/**
* htc_dec_return_runtime_cnt: Decrement htc runtime count
* @htc: HTC handle
*
* Return: value of runtime count after decrement
*/
int32_t htc_dec_return_runtime_cnt(HTC_HANDLE htc);
#else
static inline int htc_pm_runtime_get(HTC_HANDLE htc_handle) { return 0; }
static inline int htc_pm_runtime_put(HTC_HANDLE htc_handle) { return 0; }
static inline
int32_t htc_dec_return_runtime_cnt(HTC_HANDLE htc)
{
return -1;
}
#endif
/**