[media] Revert "[media] v4l2: vb2: one more fix for REQBUFS()"
authorMarek Szyprowski <[email protected]>
Wed, 8 Jun 2011 09:15:05 +0000 (06:15 -0300)
committerMauro Carvalho Chehab <[email protected]>
Fri, 1 Jul 2011 01:32:28 +0000 (22:32 -0300)
This reverts commit 31901a078af29c33c736dcbf815656920e904632.

Queue should be reinitialized on each REQBUFS() call even if the memory
access method and buffer count have not been changed. The user might have
changed the format and if we go the short path introduced in that commit,
the memory buffer will not be reallocated to fit with new format.

The previous patch was just over-engineered optimization, which just
introduced a bug to videobuf2.

Reported-by: Uwe Kleine-König <[email protected]>
Signed-off-by: Marek Szyprowski <[email protected]>
CC: Pawel Osciak <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
drivers/media/video/videobuf2-core.c

index 6ba1461d51ef9456be18be6421837c0c279064b8..6489aa26e78858842bde9ef60716c2483ec023d7 100644 (file)
@@ -492,13 +492,6 @@ int vb2_reqbufs(struct vb2_queue *q, struct v4l2_requestbuffers *req)
                return -EINVAL;
        }
 
-       /*
-        * If the same number of buffers and memory access method is requested
-        * then return immediately.
-        */
-       if (q->memory == req->memory && req->count == q->num_buffers)
-               return 0;
-
        if (req->count == 0 || q->num_buffers != 0 || q->memory != req->memory) {
                /*
                 * We already have buffers allocated, so first check if they