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

Commit 3fb34cbd authored by Bojun Pan's avatar Bojun Pan Committed by Gerrit - the friendly Code Review server
Browse files

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

Fix the potiental addition reference counts issue.

Change-Id: Ib01707ab00db7413c46eee7ccb8d74460344d047
parent 7de0e10b
Loading
Loading
Loading
Loading
+4 −2
Original line number Original line Diff line number Diff line
@@ -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)
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;
	enum ipa_client_type client_type;


	atomic_set(&sys->curr_polling_state, 1);
	atomic_set(&sys->curr_polling_state, 1);
@@ -4628,6 +4628,8 @@ void __ipa_gsi_irq_rx_scedule_poll(struct ipa3_sys_context *sys)
	 * switch. Use the active no block instead
	 * switch. Use the active no block instead
	 * where we would have ref counts.
	 * where we would have ref counts.
	 */
	 */
	if (sys->napi_obj ||
		IPA_CLIENT_IS_LOW_LAT_CONS(sys->ep->client))
		clk_off = IPA_ACTIVE_CLIENTS_INC_EP_NO_BLOCK(client_type);
		clk_off = IPA_ACTIVE_CLIENTS_INC_EP_NO_BLOCK(client_type);
	if (!clk_off && sys->napi_obj) {
	if (!clk_off && sys->napi_obj) {
		trace_ipa3_napi_schedule(sys->ep->client);
		trace_ipa3_napi_schedule(sys->ep->client);