lkml.org 
[lkml]   [2023]   [Oct]   [31]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v14 11/56] media: mediatek: jpeg: Use vb2_get_buffer() instead of directly access to buffers array
    Date
    Use vb2_get_buffer() instead of direct access to the vb2_queue bufs array.
    This allows us to change the type of the bufs in the future.
    After each call to vb2_get_buffer() we need to be sure that we get
    a valid pointer so check the return value of all of them.

    Signed-off-by: Benjamin Gaignard <benjamin.gaignard@collabora.com>
    CC: Bin Liu <bin.liu@mediatek.com>
    CC: Matthias Brugger <matthias.bgg@gmail.com>
    ---
    drivers/media/platform/mediatek/jpeg/mtk_jpeg_core.c | 7 +++----
    1 file changed, 3 insertions(+), 4 deletions(-)

    diff --git a/drivers/media/platform/mediatek/jpeg/mtk_jpeg_core.c b/drivers/media/platform/mediatek/jpeg/mtk_jpeg_core.c
    index 7194f88edc0f..73a063b1569b 100644
    --- a/drivers/media/platform/mediatek/jpeg/mtk_jpeg_core.c
    +++ b/drivers/media/platform/mediatek/jpeg/mtk_jpeg_core.c
    @@ -598,12 +598,11 @@ static int mtk_jpeg_qbuf(struct file *file, void *priv, struct v4l2_buffer *buf)
    goto end;

    vq = v4l2_m2m_get_vq(fh->m2m_ctx, buf->type);
    - if (buf->index >= vq->num_buffers) {
    - dev_err(ctx->jpeg->dev, "buffer index out of range\n");
    + vb = vb2_get_buffer(vq, buf->index);
    + if (!vb) {
    + dev_err(ctx->jpeg->dev, "buffer not found\n");
    return -EINVAL;
    }
    -
    - vb = vq->bufs[buf->index];
    jpeg_src_buf = mtk_jpeg_vb2_to_srcbuf(vb);
    jpeg_src_buf->bs_size = buf->m.planes[0].bytesused;

    --
    2.39.2
    \
     
     \ /
      Last update: 2023-10-31 17:32    [W:3.742 / U:0.012 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site