qcacmn: Flush HTT endpoint TxLookUpQueue during de-init
If SSR happens, before any tx_completion is received for packets queued on copy-engine, there will not be any tx completions received for these packets and should be freed during de-init. Currently the TxLookUpQueue is being flushed only for WMI and HTC_CTRL endpoint only. HTT_DATA_SVC endpoint also has interrupt based tx completion processing enabled for certain targets, and the packets for this endpoint are not being flushed during de-init. Fix the above issue, by flushing the TxLookUpQueue for HTT_DATA_SVC endpoint if interrupt based tx completions has been enabled for this CE pipe. Change-Id: If79c2ace17c3bfb8ffeb03cb69c142f7ad43aedb CRs-Fixed: 3307267
This commit is contained in:

committed by
Madan Koyyalamudi

parent
ec90cac805
commit
8e7416b1e6
@@ -1022,7 +1022,9 @@ void htc_stop(HTC_HANDLE HTCHandle)
|
|||||||
endpoint = &target->endpoint[i];
|
endpoint = &target->endpoint[i];
|
||||||
if (endpoint->service_id == WMI_CONTROL_SVC)
|
if (endpoint->service_id == WMI_CONTROL_SVC)
|
||||||
htc_flush_endpoint_txlookupQ(target, i, false);
|
htc_flush_endpoint_txlookupQ(target, i, false);
|
||||||
else if (endpoint->service_id == HTC_CTRL_RSVD_SVC)
|
else if (endpoint->service_id == HTC_CTRL_RSVD_SVC ||
|
||||||
|
(endpoint->service_id == HTT_DATA_MSG_SVC &&
|
||||||
|
!endpoint->ul_is_polled))
|
||||||
htc_flush_endpoint_txlookupQ(target, i, true);
|
htc_flush_endpoint_txlookupQ(target, i, true);
|
||||||
}
|
}
|
||||||
HTC_INFO("%s: resetting endpoints state\n", __func__);
|
HTC_INFO("%s: resetting endpoints state\n", __func__);
|
||||||
|
Reference in New Issue
Block a user