From af8f3558878c9894b8ed08d9273c6357aca313aa Mon Sep 17 00:00:00 2001 From: Oleg Nesterov Date: Tue, 20 Feb 2007 16:07:19 +0100 Subject: V4L/DVB: Buf_qbuf: fix: videobuf_queue->stream corruption and lockup We are doing ->buf_prepare(buf) before adding buf to q->stream list. This means that videobuf_qbuf() should not try to re-add a STATE_PREPARED buffer. Adrian Bunk: Backported to 2.6.16. Signed-off-by: Oleg Nesterov Signed-off-by: Mauro Carvalho Chehab --- drivers/media/video/video-buf.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/media/video/video-buf.c b/drivers/media/video/video-buf.c index 9ef477523d27..9e77f87edbc9 100644 --- a/drivers/media/video/video-buf.c +++ b/drivers/media/video/video-buf.c @@ -608,6 +608,7 @@ videobuf_qbuf(struct videobuf_queue *q, if (buf->memory != b->memory) goto done; if (buf->state == STATE_QUEUED || + buf->state == STATE_PREPARED || buf->state == STATE_ACTIVE) goto done; -- cgit v1.2.3