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

Commit 497e0934 authored by Haseeb Khan's avatar Haseeb Khan
Browse files

msm: cvp: Serializing mutex locks during CDSP-SSR glink callback



Reorder dsp and hfi mutex lock sequence to fix deadlock.

Change-Id: I8ecdcb59e8c909cb11c17aca4415ed6cedae82c5
Signed-off-by: default avatarHaseeb Khan <hkhan@codeaurora.org>
parent 13cde485
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -235,14 +235,14 @@ static void cvp_dsp_rpmsg_remove(struct rpmsg_device *rpdev)
	struct cvp_dsp_apps *me = &gfa_cv;

	cancel_work_sync(&me->ssr_work);
	mutex_lock(&me->smd_mutex);
	me->chan = NULL;
	me->cdsp_state = STATUS_SSR;
	if (me->device) {
		mutex_lock(&me->device->lock);
		me->device->dsp_flags &= ~DSP_INIT;
		mutex_unlock(&me->device->lock);
	}
	mutex_lock(&me->smd_mutex);
	me->chan = NULL;
	me->cdsp_state = STATUS_SSR;
	mutex_unlock(&me->smd_mutex);
	dprintk(CVP_INFO,
		"%s: CDSP SSR triggered\n", __func__);