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
This commit is contained in:
Yeshwanth Sriram Guntuka
2020-09-23 12:27:31 +05:30
committed by snandini
父節點 3213f64df6
當前提交 478749a365
共有 6 個文件被更改,包括 84 次插入3 次删除

查看文件

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2013-2014, 2016-2017, 2019 The Linux Foundation. All rights reserved.
* Copyright (c) 2013-2014, 2016-2017, 2019-2020 The Linux Foundation. All rights reserved.
*
* Permission to use, copy, modify, and/or distribute this software for
* any purpose with or without fee is hereby granted, provided that the
@@ -76,6 +76,8 @@ struct htc_tx_packet_info {
/* Tag packet for runtime put after sending */
#define HTC_TX_PACKET_TAG_RUNTIME_PUT (HTC_TX_PACKET_TAG_USER_DEFINED + 3)
/*Tag packet for runtime put in response or cleanup */
#define HTC_TX_PACKET_TAG_RTPM_PUT_RC (HTC_TX_PACKET_TAG_USER_DEFINED + 4)
#define HTC_TX_PACKET_FLAG_FIXUP_NETBUF (1 << 0)
#define HTC_TX_PACKET_FLAG_HTC_HEADER_IN_NETBUF_DATA (1 << 1)