aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media
diff options
context:
space:
mode:
authorIan Armstrong <ian@iarmst.demon.co.uk>2008-06-21 10:09:46 -0400
committerMauro Carvalho Chehab <mchehab@infradead.org>2008-07-20 06:11:18 -0400
commit42b03fe16fe8cc2cd6575e25ed1872fd6f5da56f (patch)
tree4588b977376e16691559f0f839559d918907bc08 /drivers/media
parent03c2808503b102971226007070c57410267d0b9d (diff)
V4L/DVB (8090): ivtv: yuv decoder lock fix (2)
The IVTV_IOC_DMA_FRAME ioctl fails to correctly 'start' the decoder. Although yuv output will be correct, some functions which should be disabled while the decoder is in use remain enabled. This can result in hardware registers being corrupted, causing problems with the mpeg decoder. This patch ensures the decoder 'start' sequence is called, disabling these functions until the device is closed. Signed-off-by: Ian Armstrong <ian@iarmst.demon.co.uk> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Diffstat (limited to 'drivers/media')
-rw-r--r--drivers/media/video/ivtv/ivtv-ioctl.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/media/video/ivtv/ivtv-ioctl.c b/drivers/media/video/ivtv/ivtv-ioctl.c
index b1cda6cd5582..aa222056dd47 100644
--- a/drivers/media/video/ivtv/ivtv-ioctl.c
+++ b/drivers/media/video/ivtv/ivtv-ioctl.c
@@ -1539,7 +1539,7 @@ static int ivtv_decoder_ioctls(struct file *filp, unsigned int cmd, void *arg)
1539 return -EINVAL; 1539 return -EINVAL;
1540 if (itv->output_mode == OUT_UDMA_YUV && args->y_source == NULL) 1540 if (itv->output_mode == OUT_UDMA_YUV && args->y_source == NULL)
1541 return 0; 1541 return 0;
1542 if (ivtv_claim_stream(id, id->type)) { 1542 if (ivtv_start_decoding(id, id->type)) {
1543 return -EBUSY; 1543 return -EBUSY;
1544 } 1544 }
1545 if (ivtv_set_output_mode(itv, OUT_UDMA_YUV) != OUT_UDMA_YUV) { 1545 if (ivtv_set_output_mode(itv, OUT_UDMA_YUV) != OUT_UDMA_YUV) {