OSDN Git Service

media: venus: venc: fix bytesused v4l2_plane field
authorStanimir Varbanov <stanimir.varbanov@linaro.org>
Tue, 10 Oct 2017 07:52:36 +0000 (09:52 +0200)
committerMauro Carvalho Chehab <mchehab@osg.samsung.com>
Fri, 27 Oct 2017 11:59:25 +0000 (13:59 +0200)
This fixes wrongly filled bytesused field of v4l2_plane structure
by include data_offset in the plane, Also fill data_offset and
bytesused for capture type of buffers only.

Signed-off-by: Stanimir Varbanov <stanimir.varbanov@linaro.org>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Cc: <stable@vger.kernel.org> # for v4.13 and up
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
drivers/media/platform/qcom/venus/venc.c

index 6f123a3..3fcf0e9 100644 (file)
@@ -963,13 +963,12 @@ static void venc_buf_done(struct venus_inst *inst, unsigned int buf_type,
        if (!vbuf)
                return;
 
-       vb = &vbuf->vb2_buf;
-       vb->planes[0].bytesused = bytesused;
-       vb->planes[0].data_offset = data_offset;
-
        vbuf->flags = flags;
 
        if (type == V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE) {
+               vb = &vbuf->vb2_buf;
+               vb2_set_plane_payload(vb, 0, bytesused + data_offset);
+               vb->planes[0].data_offset = data_offset;
                vb->timestamp = timestamp_us * NSEC_PER_USEC;
                vbuf->sequence = inst->sequence_cap++;
        } else {