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

Commit 03d7bb0b authored by Maheshwar Ajja's avatar Maheshwar Ajja
Browse files

msm: vidc: Release all resources before streamoff



Call msm_vidc_try_state() with RELEASE_RESOURCES_DONE state
to release all resources held by video hardware before
calling streamoff to ensure all the buffers returned to
driver from video hardware to resolve video usecase failures.

CRs-Fixed: 2120654
Change-Id: Ida79c085e6922811c6806f703a428b05f9bd896a
Signed-off-by: default avatarMaheshwar Ajja <majja@codeaurora.org>
parent d14a930f
Loading
Loading
Loading
Loading
+11 −0
Original line number Diff line number Diff line
@@ -621,6 +621,17 @@ int msm_vidc_streamoff(void *instance, enum v4l2_buf_type i)
			"Failed to find buffer queue for type = %d\n", i);
		return -EINVAL;
	}

	if (!inst->in_reconfig) {
		dprintk(VIDC_DBG, "%s: inst %pK release resources\n",
			__func__, inst);
		rc = msm_comm_try_state(inst, MSM_VIDC_RELEASE_RESOURCES_DONE);
		if (rc)
			dprintk(VIDC_ERR,
				"%s: inst %pK move to rel res done failed\n",
				__func__, inst);
	}

	dprintk(VIDC_DBG, "Calling streamoff\n");
	mutex_lock(&q->lock);
	rc = vb2_streamoff(&q->vb2_bufq, i);