于 11/16/2010 03:37 PM, Hans Verkuil 写道:
On Tuesday, November 16, 2010 02:10:39 Andrew Chew wrote:
I'm looking at drivers/media/video/videobuf-dma-contig.c's __videobuf_alloc() 
routine.  We call kzalloc() to allocate the videobuf_buffer.  However, I don't see 
where the two lists (vb->stream and vb->queue) that are a part of struct 
videobuf_buffer get initialized (with, say, INIT_LIST_HEAD).

Yuck. The videobuf framework doesn't initialize vb-stream at all. It relies on
list_add_tail to effectively initialize it for it. It works, but it is not
exactly clean programming :-(

The vb->queue list has to be initialized in the driver. Never understood the
reason for that either.

Marek, can you make sure that videobuf2 will initialize these lists correctly?
That is, vb2 should do this initialization instead of the driver.

vb2 have init the list :
        INIT_LIST_HEAD(&q->queued_list);
        INIT_LIST_HEAD(&q->done_list);

btw, "queued_list" re-name "grabbing_list" is better?




--
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

Reply via email to