msm: ipa: fix the IPA clock vote on non-NAPI case

Fix the potiental addition reference counts issue.

Change-Id: Ib01707ab00db7413c46eee7ccb8d74460344d047
This commit is contained in:
Bojun Pan 2021-02-17 14:00:23 -08:00 • committed by Gerrit - the friendly Code Review server
commit 3fb34cbda2

View file

@ -4608,7 +4608,7 @@ static void ipa_gsi_irq_tx_notify_cb(struct gsi_chan_xfer_notify *notify)
void __ipa_gsi_irq_rx_scedule_poll(struct ipa3_sys_context *sys)
{
bool clk_off;
bool clk_off = true;
enum ipa_client_type client_type;
atomic_set(&sys->curr_polling_state, 1);
@ -4628,7 +4628,9 @@ void __ipa_gsi_irq_rx_scedule_poll(struct ipa3_sys_context *sys)
* switch. Use the active no block instead
* where we would have ref counts.
*/
clk_off = IPA_ACTIVE_CLIENTS_INC_EP_NO_BLOCK(client_type);
if (sys->napi_obj ||
IPA_CLIENT_IS_LOW_LAT_CONS(sys->ep->client))
clk_off = IPA_ACTIVE_CLIENTS_INC_EP_NO_BLOCK(client_type);
if (!clk_off && sys->napi_obj) {
trace_ipa3_napi_schedule(sys->ep->client);
napi_schedule(sys->napi_obj);