V4L/DVB (7487): videobuf: Wakeup queues after changing the state to ERROR
authorBrandon Philips <brandon@ifup.org>
Wed, 2 Apr 2008 21:10:57 +0000 (18:10 -0300)
committerMauro Carvalho Chehab <mchehab@infradead.org>
Thu, 24 Apr 2008 17:07:57 +0000 (14:07 -0300)
The waitqueues must be woken up every time state changes.

Signed-off-by: Brandon Philips <bphilips@suse.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
drivers/media/video/videobuf-core.c

index fe742fdfae07e540ee986b0159f9b7dddc3048c3..e4a864e0d96b71bfdccc47f61fcdffa1266ffedc 100644 (file)
@@ -204,6 +204,7 @@ void videobuf_queue_cancel(struct videobuf_queue *q)
                if (q->bufs[i]->state == VIDEOBUF_QUEUED) {
                        list_del(&q->bufs[i]->queue);
                        q->bufs[i]->state = VIDEOBUF_ERROR;
+                       wake_up_all(&q->bufs[i]->done);
                }
        }
        if (q->irqlock)