[COMMON] media: videobuf2-v4l2: fix bug for multiplane
authorWon Jung <w00.jung@samsung.com>
Thu, 26 May 2016 13:19:35 +0000 (22:19 +0900)
committerSeungchul Kim <sc377.kim@samsung.com>
Mon, 28 May 2018 05:28:39 +0000 (14:28 +0900)
In __fill_v4l2_buffer, q->is_multiplaner is used
to check whether multiplane is requested.
However, at this point, do not refer the condition
because it is not determined yet.
Therefore, using the macro, V4L2_TYPE_IS_MULTIPLANAR(), and
type, the member value in struct v4l2_buffer, the condition
(multiplane) is checked.

Change-Id: I84ce7a39020de53423ba094dd10fc712deba8d1b
Signed-off-by: Won Jung <w00.jung@samsung.com>
drivers/media/v4l2-core/videobuf2-v4l2.c

index dfb8fc4d6ade62053cac9d57dc893f9ed8a7fbb1..466de62ad1e36c8738a354e67eda040e55d00578 100644 (file)
@@ -206,7 +206,7 @@ static void __fill_v4l2_buffer(struct vb2_buffer *vb, void *pb)
        b->reserved2 = vbuf->reserved2;
        b->reserved = 0;
 
-       if (q->is_multiplanar) {
+       if (V4L2_TYPE_IS_MULTIPLANAR(b->type)) {
                /*
                 * Fill in plane-related data if userspace provided an array
                 * for it. The caller has already verified memory and size.