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 majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html