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

Commit 631faf6b authored by qctecmdr's avatar qctecmdr Committed by Gerrit - the friendly Code Review server
Browse files

Merge "msm: mhi_dev: Don't process any other interrupts during M0 processing"

parents 4e09fbde 570829fb
Loading
Loading
Loading
Loading
+11 −0
Original line number Diff line number Diff line
@@ -1338,6 +1338,17 @@ int mhi_dev_notify_sm_event(enum mhi_dev_event event)
	INIT_WORK(&state_change_event->work, mhi_sm_dev_event_manager);
	atomic_inc(&mhi_sm_ctx->pending_device_events);
	queue_work(mhi_sm_ctx->mhi_sm_wq, &state_change_event->work);

	/*
	 * Wait until M0 processing is completely done.
	 * This ensures CHDB won't get processed while resume is in
	 * progress thus avoids race between M0 and CHDB processing.
	 */
	if (event == MHI_DEV_EVENT_M0_STATE) {
		MHI_SM_DBG("Got M0, wait until resume is done\n");
		flush_workqueue(mhi_sm_ctx->mhi_sm_wq);
	}

	res = 0;

exit: