Browse Source

Merge "msm: ipa3: Clear workqueue while teardown wan coal cons"

qctecmdr 1 year ago
parent
commit
fbe7aaf5d9

+ 4 - 0
drivers/platform/msm/ipa/ipa_v3/ipa_dp.c

@@ -2146,6 +2146,10 @@ int ipa_teardown_sys_pipe(u32 clnt_hdl)
 
 	if (ep->sys->repl_hdlr == ipa3_replenish_rx_page_recycle) {
 		cancel_delayed_work_sync(&ep->sys->common_sys->freepage_work);
+
+		if (ep->sys->freepage_wq)
+			flush_workqueue(ep->sys->freepage_wq);
+
 		tasklet_kill(&ep->sys->common_sys->tasklet_find_freepage);
 	}
 

+ 1 - 1
drivers/platform/msm/ipa/ipa_v3/ipa_i.h

@@ -1256,7 +1256,6 @@ struct ipa3_sys_context {
 	u32 page_order;
 	bool ext_ioctl_v2;
 	bool common_buff_pool;
-	struct ipa3_sys_context *common_sys;
 	atomic_t page_avilable;
 	u32 napi_sort_page_thrshld_cnt;
 
@@ -1276,6 +1275,7 @@ struct ipa3_sys_context {
 	struct workqueue_struct *freepage_wq;
 	struct delayed_work freepage_work;
 	struct tasklet_struct tasklet_find_freepage;
+	struct ipa3_sys_context *common_sys;
 	/* ordering is important - other immutable fields go below */
 };