summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKatsuya Matsubara <matsu@igel.co.jp>2013-04-23 10:51:36 (GMT)
committerMauro Carvalho Chehab <mchehab@redhat.com>2013-06-09 00:50:25 (GMT)
commit6abb3cf2c34554590791b7486e0e32b291feacc4 (patch)
tree49e8c7a729282dea743c0705351fa6a1a709f428
parent9166e1aae3c90720fc389815909cb0bb815d9bca (diff)
downloadlinux-6abb3cf2c34554590791b7486e0e32b291feacc4.tar.xz
[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>
-rw-r--r--drivers/media/platform/sh_veu.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/media/platform/sh_veu.c b/drivers/media/platform/sh_veu.c
index 6fecf9f..ebf90bf 100644
--- a/drivers/media/platform/sh_veu.c
+++ b/drivers/media/platform/sh_veu.c
@@ -1033,8 +1033,6 @@ static int sh_veu_release(struct file *file)
dev_dbg(veu->dev, "Releasing instance %p\n", veu_file);
- pm_runtime_put(veu->dev);
-
if (veu_file == veu->capture) {
veu->capture = NULL;
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;
}
+ pm_runtime_put(veu->dev);
+
kfree(veu_file);
return 0;