Hello, I'm still debugging my new video overlay device driver. The current problem is again when playing back a second video. After streamoff is called at the end of the first video, I disable the overlay and call vb2_buffer_done on the last buffer. This is exited early because vb->state == VB2_BUF_STATE_DEQUEUED. This results in vb->vb2_queue->queued_count being 1. Now if the new video starts I call vb2_queue_init in the .vidioc_reqbufs callback on my queue (that still has queued_count == 1). After vb2_queue_init returns queued_count is still 1 though q->queued_list is reset to be empty. __vb2_queue_cancel has a similar problem, &q->queued_list is reset, but queued_count is not. OTOH queued_count seems to be read only by vb2_wait_for_all_buffers which currently has no users. :-) Best regards Uwe -- Pengutronix e.K. | Uwe Kleine-König | Industrial Linux Solutions | http://www.pengutronix.de/ | -- 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