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

Commit f0aab7ac authored by Siddartha Mohanadoss's avatar Siddartha Mohanadoss
Browse files

msm: mhi_dev: Fix trigger callback sequence



MHI device receives an interrupt once a start command is
to be processed and holds a lock. Since this lock is already
held remove holding the lock in the trigger callback as this
can lead to a deadlock.

Change-Id: Ib02273c1844a453498331be5c6021d1e912ee5da
Signed-off-by: default avatarSiddartha Mohanadoss <smohanad@codeaurora.org>
parent b9fc5473
Loading
Loading
Loading
Loading
+1 −3
Original line number Diff line number Diff line
@@ -825,16 +825,14 @@ EXPORT_SYMBOL(mhi_dev_send_ee_event);
static void mhi_dev_trigger_cb(void)
{
	struct mhi_dev_ready_cb_info *info;
	uint32_t state_data;
	enum mhi_ctrl_info state_data;

	mutex_lock(&mhi_ctx->mhi_lock);
	list_for_each_entry(info, &mhi_ctx->client_cb_list, list)
		if (info->cb) {
			mhi_ctrl_state_info(&state_data);
			info->cb_data.ctrl_info = state_data;
			info->cb(&info->cb_data);
		}
	mutex_unlock(&mhi_ctx->mhi_lock);
}

int mhi_dev_trigger_hw_acc_wakeup(struct mhi_dev *mhi)