瀏覽代碼

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: Ashok Vuyyuru <[email protected]>
Ashok Vuyyuru 4 年之前
父節點
當前提交
7fe8c76944
共有 1 個文件被更改,包括 2 次插入6 次删除
  1. 2 6
      drivers/platform/msm/ipa/ipa_v3/ipa_utils.c

+ 2 - 6
drivers/platform/msm/ipa/ipa_v3/ipa_utils.c

@@ -9299,13 +9299,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;
 }