Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 4bb0ba06 authored by Ashok Vuyyuru's avatar Ashok Vuyyuru Committed by Gerrit - the friendly Code Review server
Browse files

msm: ipa3: Schedule the NAPI only from interrupt context



Due scheduling the NAPI in suspend path observing race conditions
in updating channel polling context and pipe polling context. To
avoid these scenario scheduling NAPI only from interrupt context.

Change-Id: I8eb0438618aedb9873e6eafc269435cc67c03dd5
Signed-off-by: default avatarAshok Vuyyuru <avuyyuru@codeaurora.org>
parent e3e20132
Loading
Loading
Loading
Loading
+2 −6
Original line number Diff line number Diff line
@@ -7596,13 +7596,9 @@ static bool ipa3_gsi_channel_is_quite(struct ipa3_ep_context *ep)
	bool empty;

	gsi_is_channel_empty(ep->gsi_chan_hdl, &empty);
	if (!empty) {
	if (!empty)
		IPADBG("ch %ld not empty\n", ep->gsi_chan_hdl);
		/* queue a work to start polling if don't have one */
		atomic_set(&ipa3_ctx->transport_pm.eot_activity, 1);
		if (!atomic_read(&ep->sys->curr_polling_state))
			__ipa_gsi_irq_rx_scedule_poll(ep->sys);
	}
	/*Schedule NAPI only from interrupt context to avoid race conditions*/
	return empty;
}