[media] sh_veu: keep power supply until the m2m context is released

In the sh_veu driver, only the interrupt handler 'sh_veu_bh'
can invoke the v4l2_m2m_job_finish() function.
So the hardware must be alive for handling interrupts
until returning from v4l2_m2m_ctx_release().

Signed-off-by: Katsuya Matsubara <matsu@igel.co.jp>
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
This commit is contained in:
Katsuya Matsubara 2013-04-23 07:51:36 -03:00 committed by Mauro Carvalho Chehab
parent 9166e1aae3
commit 6abb3cf2c3

View file

@ -1033,8 +1033,6 @@ static int sh_veu_release(struct file *file)
dev_dbg(veu->dev, "Releasing instance %p\n", veu_file); dev_dbg(veu->dev, "Releasing instance %p\n", veu_file);
pm_runtime_put(veu->dev);
if (veu_file == veu->capture) { if (veu_file == veu->capture) {
veu->capture = NULL; veu->capture = NULL;
vb2_queue_release(v4l2_m2m_get_vq(veu->m2m_ctx, V4L2_BUF_TYPE_VIDEO_CAPTURE)); vb2_queue_release(v4l2_m2m_get_vq(veu->m2m_ctx, V4L2_BUF_TYPE_VIDEO_CAPTURE));
@ -1050,6 +1048,8 @@ static int sh_veu_release(struct file *file)
veu->m2m_ctx = NULL; veu->m2m_ctx = NULL;
} }
pm_runtime_put(veu->dev);
kfree(veu_file); kfree(veu_file);
return 0; return 0;