lkml.org 
[lkml]   [2019]   [May]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.0 141/346] media: ov2659: make S_FMT succeed even if requested format doesnt match
    Date
    [ Upstream commit bccb89cf9cd07a0690d519696a00c00a973b3fe4 ]

    This driver returns an error if unsupported media bus pixel code is
    requested by VIDIOC_SUBDEV_S_FMT.

    But according to Documentation/media/uapi/v4l/vidioc-subdev-g-fmt.rst,

    Drivers must not return an error solely because the requested format
    doesn't match the device capabilities. They must instead modify the
    format to match what the hardware can provide.

    So select default format code and return success in that case.

    This is detected by v4l2-compliance.

    Cc: "Lad, Prabhakar" <prabhakar.csengg@gmail.com>
    Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com>
    Acked-by: Lad, Prabhakar <prabhakar.csengg@gmail.com>
    Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
    Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/media/i2c/ov2659.c | 6 ++++--
    1 file changed, 4 insertions(+), 2 deletions(-)

    diff --git a/drivers/media/i2c/ov2659.c b/drivers/media/i2c/ov2659.c
    index 799acce803fe5..a1e9a980a4459 100644
    --- a/drivers/media/i2c/ov2659.c
    +++ b/drivers/media/i2c/ov2659.c
    @@ -1117,8 +1117,10 @@ static int ov2659_set_fmt(struct v4l2_subdev *sd,
    if (ov2659_formats[index].code == mf->code)
    break;

    - if (index < 0)
    - return -EINVAL;
    + if (index < 0) {
    + index = 0;
    + mf->code = ov2659_formats[index].code;
    + }

    mf->colorspace = V4L2_COLORSPACE_SRGB;
    mf->field = V4L2_FIELD_NONE;
    --
    2.20.1


    \
     
     \ /
      Last update: 2019-05-30 05:31    [W:2.451 / U:0.116 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site