Am 28.07.2014 um 17:27 schrieb Hans Verkuil: ... > OK, I looked at it: the problem is in get_next_buf() and finish_field_prepare_next(). > In get_next_buf() the driver gets a buffer from the active list and deletes it from > that list. In finish_field_prepare_next() that buffer is given back to vb2 via > finish_buffer(). > > But if you stop streaming and em28xx_stop_streaming() is called, then that buffer that > is being processed isn't part of the active list anymore and so it is never given back. > > em28xx_stop_streaming() should give that buffer back as well, and that will keep > everything in balance. The easiest solution seems to be to move the list_del() call > from get_next_buf() to finish_buffer(). It seemed to work in a quick test, but I > haven't looked at vbi support or corner cases. I leave that to you :-) Ok, thank you so far Hans ! I will see what I can do. Regards, Frank -- 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