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

Commit 0b925d01 authored by Yigang Zheng's avatar Yigang Zheng Committed by Gerrit - the friendly Code Review server
Browse files

msm: vidc: Avoid adding failed instance into list



Fix system crash bug when run multiple vidc instances

Change-Id: I7716854c210bf8d1191e2744e555d42f42e4a1f5
Signed-off-by: default avatarYigang Zheng <yigangz@codeaurora.org>
parent 1cbd1cdf
Loading
Loading
Loading
Loading
+4 −8
Original line number Diff line number Diff line
@@ -1425,10 +1425,6 @@ void *msm_vidc_open(int core_id, int session_type)

	setup_event_queue(inst, &core->vdev[session_type].vdev);

	mutex_lock(&core->lock);
	list_add_tail(&inst->list, &core->instances);
	mutex_unlock(&core->lock);

	rc = msm_comm_try_state(inst, MSM_VIDC_CORE_INIT_DONE);
	if (rc) {
		dprintk(VIDC_ERR,
@@ -1442,15 +1438,15 @@ void *msm_vidc_open(int core_id, int session_type)
		goto fail_init;
	}

	mutex_lock(&core->lock);
	list_add_tail(&inst->list, &core->instances);
	mutex_unlock(&core->lock);

	inst->debugfs_root =
		msm_vidc_debugfs_init_inst(inst, core->debugfs_root);

	return inst;
fail_init:
	mutex_lock(&core->lock);
	list_del(&inst->list);
	mutex_unlock(&core->lock);

	v4l2_fh_del(&inst->event_handler);
	v4l2_fh_exit(&inst->event_handler);
	vb2_queue_release(&inst->bufq[OUTPUT_PORT].vb2_bufq);