Hi Tom > you are right. it seems that the list of the ccdc has no buffer left, > because the printk("TOM ccdc_isr_buffer ERROR 1 ##########\n"); is shown in > my log. But I don't understand what I need to do to solve the problem. > What I do is: > - configure the pipeline > - open the video device > - do ioctl VIDIOC_REQBUFS (with memory = V4L2_MEMORY_MMAP and type = > V4L2_BUF_TYPE_VIDEO_CAPTURE) > - do ioctl VIDIOC_QUERYBUF > - do ioctl VIDIOC_STREAMON > - do ioctl VIDIOC_QBUF > > without fail. and when I do ioctl VIDIOC_DQBUF. I get my problem. > > Does anyone have an idea what I need to do to solve this problem? > > > Well, for our practice, we QBUF before STREAMON (not on omap3 isp). You can try that and see what happens. As I check the omap3 code, you sequence maybe OK. Coz there is a restart mechanism in the code to restart CCDC hardware after buffer underrun. But for you sequence, if the interrupt comes before you QBUF, then the hardware is running in underrun state ever from the STREAMON. Not sure the restart mechanism works in this scenario. Let's wait for answers from the professional :-) Jiaquan -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html