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:
Rakesh Pillai
2022-10-10 11:42:35 +05:30
committed by Madan Koyyalamudi
vanhempi ec90cac805
commit 8e7416b1e6

Näytä tiedosto

@@ -1022,7 +1022,9 @@ void htc_stop(HTC_HANDLE HTCHandle)
endpoint = &target->endpoint[i];
if (endpoint->service_id == WMI_CONTROL_SVC)
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_INFO("%s: resetting endpoints state\n", __func__);