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

This commit is contained in:
qctecmdr 2021-12-06 21:22:42 -08:00 • committed by Gerrit - the friendly Code Review server
commit 631faf6b17

View file

@ -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: