lkml.org 
[lkml]   [2019]   [Jul]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH AUTOSEL 4.19 100/158] media: vimc: cap: check v4l2_fill_pixfmt return value
    Date
    From: André Almeida <andrealmeid@collabora.com>

    [ Upstream commit 77ae46e11df5c96bb4582633851f838f5d954df4 ]

    v4l2_fill_pixfmt() returns -EINVAL if the pixelformat used as parameter is
    invalid or if the user is trying to use a multiplanar format with the
    singleplanar API. Currently, the vimc_cap_try_fmt_vid_cap() returns such
    value, but vimc_cap_s_fmt_vid_cap() is ignoring it. Fix that and returns
    an error value if vimc_cap_try_fmt_vid_cap() has failed.

    Signed-off-by: André Almeida <andrealmeid@collabora.com>
    Suggested-by: Helen Koike <helen.koike@collabora.com>
    Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
    Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/media/platform/vimc/vimc-capture.c | 5 ++++-
    1 file changed, 4 insertions(+), 1 deletion(-)

    diff --git a/drivers/media/platform/vimc/vimc-capture.c b/drivers/media/platform/vimc/vimc-capture.c
    index 65d657daf66f..8e014cc485f0 100644
    --- a/drivers/media/platform/vimc/vimc-capture.c
    +++ b/drivers/media/platform/vimc/vimc-capture.c
    @@ -132,12 +132,15 @@ static int vimc_cap_s_fmt_vid_cap(struct file *file, void *priv,
    struct v4l2_format *f)
    {
    struct vimc_cap_device *vcap = video_drvdata(file);
    + int ret;

    /* Do not change the format while stream is on */
    if (vb2_is_busy(&vcap->queue))
    return -EBUSY;

    - vimc_cap_try_fmt_vid_cap(file, priv, f);
    + ret = vimc_cap_try_fmt_vid_cap(file, priv, f);
    + if (ret)
    + return ret;

    dev_dbg(vcap->dev, "%s: format update: "
    "old:%dx%d (0x%x, %d, %d, %d, %d) "
    --
    2.20.1
    \
     
     \ /
      Last update: 2019-07-15 17:45    [W:4.202 / U:0.012 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site