瀏覽代碼

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>
Ian Armstrong 17 年之前
父節點
當前提交
42b03fe16f
共有 1 個文件被更改,包括 1 次插入1 次删除
  1. 1 1
      drivers/media/video/ivtv/ivtv-ioctl.c

+ 1 - 1
drivers/media/video/ivtv/ivtv-ioctl.c

@@ -1539,7 +1539,7 @@ static int ivtv_decoder_ioctls(struct file *filp, unsigned int cmd, void *arg)
 			return -EINVAL;
 		if (itv->output_mode == OUT_UDMA_YUV && args->y_source == NULL)
 			return 0;
-		if (ivtv_claim_stream(id, id->type)) {
+		if (ivtv_start_decoding(id, id->type)) {
 			return -EBUSY;
 		}
 		if (ivtv_set_output_mode(itv, OUT_UDMA_YUV) != OUT_UDMA_YUV) {