aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/video/ivtv/ivtv-ioctl.c
diff options
context:
space:
mode:
authorHans Verkuil <hverkuil@xs4all.nl>2007-08-18 10:46:05 -0400
committerMauro Carvalho Chehab <mchehab@infradead.org>2007-10-09 21:05:31 -0400
commit3562c43be8cfd6e300508d7c33acebf3369eacd3 (patch)
tree3b2aab0d4e078ddf5445d2ab82eea2838bcf01ba /drivers/media/video/ivtv/ivtv-ioctl.c
parentda80be21362376443c6ee9918dfff408e83e0c39 (diff)
V4L/DVB (6045): ivtv: fix handling of INITIALIZE_INPUT fw call
The CX2341X_ENC_INITIALIZE_INPUT firmware call requires careful handling, otherwise the computer can freeze or the top-third of the screen can start flickering. This patch ensures that CX2341X_ENC_INITIALIZE_INPUT is called at the right time and in the right way. In addition the stop capture handling was improved so that the last pending DMA transfer is also processed. Otherwise this would be the first data that arrived when a new capture was started which is not what you want. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Diffstat (limited to 'drivers/media/video/ivtv/ivtv-ioctl.c')
-rw-r--r--drivers/media/video/ivtv/ivtv-ioctl.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/media/video/ivtv/ivtv-ioctl.c b/drivers/media/video/ivtv/ivtv-ioctl.c
index cee6c558c69c..734f2d2ffa62 100644
--- a/drivers/media/video/ivtv/ivtv-ioctl.c
+++ b/drivers/media/video/ivtv/ivtv-ioctl.c
@@ -906,6 +906,9 @@ int ivtv_v4l2_ioctls(struct ivtv *itv, struct file *filp, unsigned int cmd, void
906 IVTV_DEBUG_INFO("Input unchanged\n"); 906 IVTV_DEBUG_INFO("Input unchanged\n");
907 break; 907 break;
908 } 908 }
909 if (atomic_read(&itv->capturing) > 0) {
910 return -EBUSY;
911 }
909 IVTV_DEBUG_INFO("Changing input from %d to %d\n", 912 IVTV_DEBUG_INFO("Changing input from %d to %d\n",
910 itv->active_input, inp); 913 itv->active_input, inp);
911 914