diff -r 8ba4c2df2736 linux/drivers/media/video/videobuf-core.c --- a/linux/drivers/media/video/videobuf-core.c Tue Apr 08 13:36:56 2008 -0300 +++ b/linux/drivers/media/video/videobuf-core.c Tue Apr 08 15:31:45 2008 -0300 @@ -314,6 +314,9 @@ int videobuf_mmap_free(struct videobuf_q int videobuf_mmap_free(struct videobuf_queue *q) { int ret; + + dprintk(1, "%s called\n", __func__); + mutex_lock(&q->vb_lock); ret = __videobuf_mmap_free(q); mutex_unlock(&q->vb_lock); @@ -327,6 +330,8 @@ static int __videobuf_mmap_setup(struct { unsigned int i; int err; + + dprintk(1, "%s called\n", __func__); MAGIC_CHECK(q->int_ops->magic, MAGIC_QTYPE_OPS); diff -r 8ba4c2df2736 v4l2-apps/test/capture_example.c --- a/v4l2-apps/test/capture_example.c Tue Apr 08 13:36:56 2008 -0300 +++ b/v4l2-apps/test/capture_example.c Tue Apr 08 15:31:45 2008 -0300 @@ -178,12 +178,8 @@ read_frame (void) } static void -mainloop (void) +mainloop (int count) { - unsigned int count; - - count = 1000; - while (count-- > 0) { for (;;) { fd_set fds; @@ -670,7 +666,17 @@ main (int start_capturing (); - mainloop (); + mainloop (5); + + stop_capturing (); + + uninit_device (); + + init_device (); + + start_capturing (); + + mainloop (5); stop_capturing ();