Skip to content
Permalink
Tomi-Valkeinen…
Switch branches/tags

Commits on Apr 9, 2021

  1. RFC: media: v4l2-subdev: add subdev-wide config struct

    We have 'struct v4l2_subdev_pad_config' which contains configuration for
    a single pad used for the TRY functionality, and an array of those
    structs is passed to various v4l2_subdev_pad_ops.
    
    I was working on subdev internal routing between pads, and realized that
    there's no way to add TRY functionality for routes, which is not pad
    specific configuration. Adding a separate struct for try-route config
    wouldn't work either, as e.g. set-fmt needs to know the try-route
    configuration to propagate the settings.
    
    This patch adds a new struct, 'struct v4l2_subdev_config' (which at the
    moment only contains the v4l2_subdev_pad_config array) and the new
    struct is used in most of the places where v4l2_subdev_pad_config was
    used. All v4l2_subdev_pad_ops functions taking v4l2_subdev_pad_config
    are changed to instead take v4l2_subdev_config.
    
    Two drivers are changed to work with the above changes (drivers for HW
    which I have) as an example.
    
    I worked on a semantic patch (included below, my first spatch...) to do
    this change to all drivers, but hit lots of problems with non-trivial
    uses of v4l2_subdev_pad_config.
    
    As it looks like substantial amount of manual work is needed, I'm
    posting this RFC to get an ack on the changes before continuing that
    work.
    
    @ v4l2_subdev_pad_ops @
    identifier pad_ops;
    identifier func;
    @@
    
    (
    static const struct v4l2_subdev_pad_ops pad_ops = {
            ...,
            .enum_mbus_code = func,
            ...,
    };
    |
    static const struct v4l2_subdev_pad_ops pad_ops = {
            ...,
            .enum_frame_size = func,
            ...,
    };
    |
    static const struct v4l2_subdev_pad_ops pad_ops = {
            ...,
            .enum_frame_interval = func,
            ...,
    };
    |
    static const struct v4l2_subdev_pad_ops pad_ops = {
            ...,
            .get_fmt = func,
            ...,
    };
    |
    static const struct v4l2_subdev_pad_ops pad_ops = {
            ...,
            .set_fmt = func,
            ...,
    };
    |
    static const struct v4l2_subdev_pad_ops pad_ops = {
            ...,
            .get_selection = func,
            ...,
    };
    |
    static const struct v4l2_subdev_pad_ops pad_ops = {
            ...,
            .set_selection = func,
            ...,
    };
    |
    static const struct v4l2_subdev_pad_ops pad_ops = {
            ...,
            .init_cfg = func,
            ...,
    };
    )
    
    @@
    identifier v4l2_subdev_pad_ops.func;
    identifier sd;
    identifier cfg;
    @@
    
     func(struct v4l2_subdev *sd,
    -	struct v4l2_subdev_pad_config *cfg,
    +	struct v4l2_subdev_config *cfg,
    	...
          )
     {
        ...
     }
    
    @@
    identifier v4l2_subdev_pad_ops.func;
    identifier sd;
    identifier cfg;
    @@
    
     func(struct v4l2_subdev *sd,
    -   struct v4l2_subdev_pad_config *cfg
    +   struct v4l2_subdev_config *cfg
          )
     {
        ...
     }
    
    @@
    struct v4l2_subdev_fh *fh;
    @@
    -    fh->pad
    +    &fh->cfg
    
    @@
    identifier func;
    identifier cfg;
    @@
    
    func(...,
    - struct v4l2_subdev_pad_config *cfg,
    + struct v4l2_subdev_config *cfg,
     ...)
    {
        ...
    }
    
    @@
    struct v4l2_subdev_config *cfg;
    @@
     {
        <...
    (
    -   cfg->try_fmt
    +   cfg->pad_configs->try_fmt
    |
    -   cfg->try_crop
    +   cfg->pad_configs->try_crop
    |
    -   cfg->try_compose
    +   cfg->pad_configs->try_compose
    )
        ...>
     }
    
    @@
    identifier pad_cfg;
    @@
    {
        ...
        struct v4l2_subdev_pad_config pad_cfg;
    +   struct v4l2_subdev_config cfg = { .pad_configs = &pad_cfg };
        <...
    -   &pad_cfg
    +   &cfg
        ...>
    }
    
    Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
    tomba authored and intel-lab-lkp committed Apr 9, 2021
  2. media: gscpa/stv06xx: fix memory leak

    For two of the supported sensors the stv06xx driver allocates memory which
    is stored in sd->sensor_priv. This memory is freed on a disconnect, but if
    the probe() fails, then it isn't freed and so this leaks memory.
    
    Add a new probe_error() op that drivers can use to free any allocated
    memory in case there was a probe failure.
    
    Thanks to Pavel Skripkin <paskripkin@gmail.com> for discovering the cause
    of the memory leak.
    
    Reported-and-tested-by: syzbot+e7f4c64a4248a0340c37@syzkaller.appspotmail.com
    
    Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
    Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
    Hans Verkuil authored and mchehab committed Apr 9, 2021
  3. media: cx25821: remove unused including <linux/version.h>

    Remove including <linux/version.h> that don't need it.
    
    Signed-off-by: Tian Tao <tiantao6@hisilicon.com>
    Signed-off-by: Zhiqi Song <songzhiqi1@huawei.com>
    Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
    Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
    Tian Tao authored and mchehab committed Apr 9, 2021
  4. media: staging: media/meson: remove redundant dev_err call

    devm_ioremap_resource() prints error message in itself. Remove the
    dev_err call to avoid redundant error message.
    
    Signed-off-by: Muhammad Usama Anjum <musamaanjum@gmail.com>
    Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
    Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
    musamaanjum authored and mchehab committed Apr 9, 2021
  5. media: adv7842: support 1 block EDIDs, fix clearing EDID

    Add support for EDIDs consisting of one EDID block.
    
    Related to this, improve CEC physical address handling.
    
    Clearing the EDID caused a bug since v4l2_calc_aspect_ratio() was
    called with a NULL pointer.
    
    Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
    Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
    Hans Verkuil authored and mchehab committed Apr 9, 2021
  6. media: adv7842: configure all pads

    Only the first pad was configured, but there are 4. This causes
    set_fmt to fail with -EINVAL since the passed pad is > 0.
    
    Configure all three sink pads and the source pad.
    
    Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
    Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
    Hans Verkuil authored and mchehab committed Apr 9, 2021
  7. media: allegro: change kernel-doc comment blocks to normal comments

    The /** at the start indicates that these are kernel-doc comments, but
    really these are just regular comments.
    
    Replace /** by /* to avoid a large number of warnings from kernel-doc.
    
    Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
    Suggested-by: Michael Tretter <m.tretter@pengutronix.de>
    Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
    Hans Verkuil authored and mchehab committed Apr 9, 2021
  8. media: camss: ispif: Remove redundant dev_err call in msm_ispif_subde…

    …v_init()
    
    There is a error message within devm_ioremap_resource
    already, so remove the dev_err call to avoid redundant
    error message.
    
    Reported-by: Hulk Robot <hulkci@huawei.com>
    Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>
    Reviewed-by: Robert Foss <robert.foss@linaro.org>
    Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
    Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
    Yang Yingliang authored and mchehab committed Apr 9, 2021
  9. media: i2c: rdamc21: Fix warning on u8 cast

    Sparse reports a warning on a cast to u8 of a 16 bits constant.
    
    drivers/media/i2c/rdacm21.c:348:62: warning: cast truncates bits
    from constant value (300a becomes a)
    
    Even if the behaviour is intended, silence the sparse warning replacing
    the cast with a bitwise & operation.
    
    Fixes: a59f853 ("media: i2c: Add driver for RDACM21 camera module")
    Reported-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
    Reviewed-by: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com>
    Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
    Signed-off-by: Jacopo Mondi <jacopo+renesas@jmondi.org>
    Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
    Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
    Jacopo Mondi authored and mchehab committed Apr 9, 2021
  10. media: staging: media: zoran: Rename 'He' to 'he'

    Rename variable 'He' to 'he' to eliminate camelcase.
    Reported by checkpatch.pl.
    
    Signed-off-by: Zhansaya Bagdauletkyzy <zhansayabagdaulet@gmail.com>
    Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
    Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
    zhans00 authored and mchehab committed Apr 9, 2021
  11. media: staging: media: zoran: Rename 'We' to 'we'

    Rename variable 'We' to 'we' to eliminate camelcase.
    Reported by checkpatch.pl.
    
    Signed-off-by: Zhansaya Bagdauletkyzy <zhansayabagdaulet@gmail.com>
    Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
    Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
    zhans00 authored and mchehab committed Apr 9, 2021
  12. media: staging: media: zoran: Rename 'VidWinHt' to 'vid_win_ht'

    Rename 'VidWinHt' to 'vid_win_ht' to eliminate camelcase.
    Reported by checkpatch.pl.
    
    Signed-off-by: Zhansaya Bagdauletkyzy <zhansayabagdaulet@gmail.com>
    Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
    Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
    zhans00 authored and mchehab committed Apr 9, 2021
  13. media: staging: media: zoran: Rename 'VidWinWid' to 'vid_win_wid'

    Rename variable 'VidWinWid' to 'vid_win_wid' to eliminate camelcase.
    Reported by checkpatch.pl.
    
    Signed-off-by: Zhansaya Bagdauletkyzy <zhansayabagdaulet@gmail.com>
    Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
    Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
    zhans00 authored and mchehab committed Apr 9, 2021
  14. media: staging: media: zoran: Rename 'DispMode' to 'disp_mode'

    Rename variable 'DispMode' to 'disp_mode' to eliminate camelcase.
    Reported by checkpatch.pl.
    
    Signed-off-by: Zhansaya Bagdauletkyzy <zhansayabagdaulet@gmail.com>
    Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
    Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
    zhans00 authored and mchehab committed Apr 9, 2021
  15. media: staging: media: zoran: Rename 'VEnd' to 'v_end'

    Rename variable 'VEnd' to 'v_end' to eliminate camelcase.
    Reported by checkpatch.pl.
    
    Signed-off-by: Zhansaya Bagdauletkyzy <zhansayabagdaulet@gmail.com>
    Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
    Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
    zhans00 authored and mchehab committed Apr 9, 2021
  16. media: staging: media: zoran: Rename 'HEnd' to 'h_end'

    Rename variable 'HEnd' to 'h_end' to eliminate camelcase
    Reported by checkpatch.pl.
    
    Signed-off-by: Zhansaya Bagdauletkyzy <zhansayabagdaulet@gmail.com>
    Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
    Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
    zhans00 authored and mchehab committed Apr 9, 2021
  17. media: staging: media: omap4iss: align arguments with open parenthesis

    Cleans up checks of "Alignment should match open parenthesis"
    in iss.c:96.
    
    Signed-off-by: Beatriz Martins de Carvalho <martinsdecarvalhobeatriz@gmail.com>
    Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
    Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
    BeatrizCarvalho authored and mchehab committed Apr 9, 2021
  18. media: staging/intel-ipu3: Fix race condition during set_fmt

    Do not modify imgu_pipe->nodes[inode].vdev_fmt.fmt.pix_mp, until the
    format has been correctly validated.
    
    Otherwise, even if we use a backup variable, there is a period of time
    where imgu_pipe->nodes[inode].vdev_fmt.fmt.pix_mp might have an invalid
    value that can be used by other functions.
    
    Cc: stable@vger.kernel.org
    Fixes: ad91849 ("media: staging/intel-ipu3: Fix set_fmt error handling")
    Reviewed-by: Tomasz Figa <tfiga@chromium.org>
    Signed-off-by: Ricardo Ribalda <ribalda@chromium.org>
    Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
    Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
    ribalda authored and mchehab committed Apr 9, 2021
  19. media: staging/intel-ipu3: Fix memory leak in imu_fmt

    We are losing the reference to an allocated memory if try. Change the
    order of the check to avoid that.
    
    Cc: stable@vger.kernel.org
    Fixes: 6d5f26f ("media: staging/intel-ipu3-v4l: reduce kernel stack usage")
    Signed-off-by: Ricardo Ribalda <ribalda@chromium.org>
    Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
    Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
    ribalda authored and mchehab committed Apr 9, 2021
  20. media: mxl692: remove impossible condition

    Fix the following coverity warning:
    
    This greater-than-or-equal-to-zero comparison of an unsigned value is
    always true. "opcode >= 0".
    
    Reported-by: Abaci Robot <abaci@linux.alibaba.com>
    Signed-off-by: Jiapeng Chong <jiapeng.chong@linux.alibaba.com>
    Signed-off-by: Sean Young <sean@mess.org>
    Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
    Jiapeng Chong authored and mchehab committed Apr 9, 2021
  21. media: dvb-usb: avoid -Wempty-body warnings

    Building with 'make W=1' shows many warnings -Wempty-body warnings like
    
    drivers/media/usb/dvb-usb/vp702x-fe.c: In function 'vp702x_fe_set_frontend':
    drivers/media/usb/dvb-usb/vp702x-fe.c:190:46: error: suggest braces around empty body in an 'else' statement [-Werror=empty-body]
      190 |                 deb_fe("tuning succeeded.\n");
    drivers/media/usb/dvb-usb/dtt200u.c: In function 'dtt200u_rc_query':
    drivers/media/usb/dvb-usb/dtt200u.c:124:58: error: suggest braces around empty body in an 'if' statement [-Werror=empty-body]
      124 |                 deb_info("st->data: %*ph\n", 5, st->data);
    drivers/media/usb/dvb-usb/m920x.c: In function 'm920x_rc_query':
    drivers/media/usb/dvb-usb/m920x.c:207:58: error: suggest braces around empty body in an 'if' statement [-Werror=empty-body]
      207 |                 deb("Unknown rc key %02x\n", rc_state[1]);
    
    Change the empty dprintk() macros to no_printk(), which avoids this
    warning and adds format string checking.
    
    Signed-off-by: Arnd Bergmann <arnd@arndb.de>
    Signed-off-by: Sean Young <sean@mess.org>
    Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
    arndb authored and mchehab committed Apr 9, 2021
  22. media: flexcop: avoid -Wempty-body warning

    Building with 'make W=1' shows many warnings -Wempty-body warnings like
    
    drivers/media/common/b2c2/flexcop-misc.c: In function 'flexcop_determine_revision':
    drivers/media/common/b2c2/flexcop-misc.c:35:85: error: suggest braces around empty body in an 'else' statement [-Werror=empty-body]
       35 |                 deb_info("this FlexCop has the 6 basic main hardware pid filter.\n");
    
    drivers/media/usb/b2c2/flexcop-usb.c: In function 'flexcop_usb_process_frame':
    drivers/media/usb/b2c2/flexcop-usb.c:357:79: error: suggest braces around empty body in an 'else' statement [-Werror=empty-body]
      357 |                                         deb_ts("not ts packet %*ph\n", 4, b+2);
          |                                                                               ^
    drivers/media/common/b2c2/flexcop-misc.c: In function 'flexcop_determine_revision':
    drivers/media/common/b2c2/flexcop-misc.c:35:85: error: suggest braces around empty body in an 'else' statement [-Werror=empty-body]
       35 |                 deb_info("this FlexCop has the 6 basic main hardware pid filter.\n");
          |                                                                                     ^
    
    Change the empty dprintk() macros to no_printk(), which avoids this
    warning and adds format string checking.
    
    Signed-off-by: Arnd Bergmann <arnd@arndb.de>
    Signed-off-by: Sean Young <sean@mess.org>
    Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
    arndb authored and mchehab committed Apr 9, 2021
  23. media: ite-cir: probe of ITE8708 on ASUS PN50 fails

    The Asus PN50 has 16 byte io region for the ITE8708 in its DSDT, which
    causes the probe fail. So, accept larger regions.
    
    Link: https://www.spinics.net/lists/linux-media/msg177725.html
    
    Cc: Nikolaos Beredimas <beredim@gmail.com>
    Reported-by: Michael Zimmermann <sigmaepsilon92@gmail.com>
    Signed-off-by: Sean Young <sean@mess.org>
    Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
    seanyoung authored and mchehab committed Apr 9, 2021
  24. media: dt-bindings: media: IR: Add H616 IR compatible string

    Add the obvious compatible name to the existing IR binding, and pair
    it with the existing A31 fallback compatible string, as the devices
    are compatible.
    
    On the way use enums to group all compatible devices together.
    
    Signed-off-by: Andre Przywara <andre.przywara@arm.com>
    Acked-by: Rob Herring <robh@kernel.org>
    Signed-off-by: Sean Young <sean@mess.org>
    Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
    Andre-ARM authored and mchehab committed Apr 9, 2021
  25. media: rc: ir-hix5hd2: use the correct HiSilicon copyright

    s/Hisilicon/HiSilicon/g.
    It should use capital S, according to
    https://www.hisilicon.com/en/terms-of-use.
    
    Signed-off-by: Hao Fang <fanghao11@huawei.com>
    Signed-off-by: Sean Young <sean@mess.org>
    Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
    haofang11 authored and mchehab committed Apr 9, 2021
  26. media: rc: remove zte zx ir driver

    The zte zx platform is getting removed, so this driver is no
    longer needed.
    
    Cc: Jun Nie <jun.nie@linaro.org>
    Cc: Shawn Guo <shawnguo@kernel.org>
    Signed-off-by: Arnd Bergmann <arnd@arndb.de>
    Signed-off-by: Sean Young <sean@mess.org>
    Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
    arndb authored and mchehab committed Apr 9, 2021
  27. media: dvb-usb: fix memory leak in dvb_usb_adapter_init

    syzbot reported memory leak in dvb-usb. The problem was
    in invalid error handling in dvb_usb_adapter_init().
    
    for (n = 0; n < d->props.num_adapters; n++) {
    ....
    	if ((ret = dvb_usb_adapter_stream_init(adap)) ||
    		(ret = dvb_usb_adapter_dvb_init(adap, adapter_nrs)) ||
    		(ret = dvb_usb_adapter_frontend_init(adap))) {
    		return ret;
    	}
    ...
    	d->num_adapters_initialized++;
    ...
    }
    
    In case of error in dvb_usb_adapter_dvb_init() or
    dvb_usb_adapter_dvb_init() d->num_adapters_initialized won't be
    incremented, but dvb_usb_adapter_exit() relies on it:
    
    	for (n = 0; n < d->num_adapters_initialized; n++)
    
    So, allocated objects won't be freed.
    
    Signed-off-by: Pavel Skripkin <paskripkin@gmail.com>
    Reported-by: syzbot+3c2be7424cea3b932b0e@syzkaller.appspotmail.com
    Signed-off-by: Sean Young <sean@mess.org>
    Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
    pskrgag authored and mchehab committed Apr 9, 2021
  28. media: rc: add keymaps for mecool-kii-pro/kiii-pro remotes

    Add keymaps and bindings for the simple IR (NEC) remotes used with
    the MeCool KII-Pro and MeCool KIII-Pro Android STB devices.
    
    Tested-by: Drazen Spio <drazsp@gmail.com>
    Signed-off-by: Christian Hewitt <christianshewitt@gmail.com>
    Signed-off-by: Sean Young <sean@mess.org>
    Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
    chewitt authored and mchehab committed Apr 9, 2021
  29. media: dvb-usb-remote: fix dvb_usb_nec_rc_key_to_event type mismatch

    gcc-11 warns about the prototype not exactly matching the function
    definition:
    
    drivers/media/usb/dvb-usb/dvb-usb-remote.c:363:20: error: argument 2 of type ‘u8[5]’ {aka ‘unsigned char[5]’} with mismatched bound [-Werror=array-parameter=]
      363 |                 u8 keybuf[5], u32 *event, int *state)
          |                 ~~~^~~~~~~~~
    In file included from drivers/media/usb/dvb-usb/dvb-usb-common.h:13,
                     from drivers/media/usb/dvb-usb/dvb-usb-remote.c:9:
    drivers/media/usb/dvb-usb/dvb-usb.h:490:65: note: previously declared as ‘u8[]’ {aka ‘unsigned char[]’}
      490 | extern int dvb_usb_nec_rc_key_to_event(struct dvb_usb_device *, u8[], u32 *, int *);
          |                                                                 ^~~~
    
    Fixes: 776338e ("[PATCH] dvb: Add generalized dvb-usb driver")
    Signed-off-by: Arnd Bergmann <arnd@arndb.de>
    Signed-off-by: Sean Young <sean@mess.org>
    Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
    arndb authored and mchehab committed Apr 9, 2021
  30. media: dvb-frontends: Remove redundant error check on variable ret

    An earlier commit removed a call to lgdt3306a_spectral_inversion and
    omitted to remove the error return check. The check on ret is now
    redundant and can be removed.
    
    Addresses-Coverity: ("Logically dead code")
    
    Fixes: d4a3fa6 ("media: dvb-frontends: lgdt3306a.c: remove dead code")
    Signed-off-by: Colin Ian King <colin.king@canonical.com>
    Signed-off-by: Sean Young <sean@mess.org>
    Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
    Colin Ian King authored and mchehab committed Apr 9, 2021
  31. media: cobalt: drop static for sd_fmt

    The struct v4l2_subdev_format sd_fmt cannot be static since it can be
    written back by the subdev. Just have it on the stack.
    
    Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
    Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
    Hans Verkuil authored and mchehab committed Apr 9, 2021
  32. media: sun8i-di: Fix runtime PM imbalance in deinterlace_start_streaming

    pm_runtime_get_sync() will increase the runtime PM counter
    even it returns an error. Thus a pairing decrement is needed
    to prevent refcount leak. Fix this by replacing this API with
    pm_runtime_resume_and_get(), which will not change the runtime
    PM counter on error.
    
    Signed-off-by: Dinghao Liu <dinghao.liu@zju.edu.cn>
    Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
    Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
    dinghaoliu authored and mchehab committed Apr 9, 2021
  33. media: platform: sti: Fix runtime PM imbalance in regs_show

    pm_runtime_get_sync() will increase the runtime PM counter
    even it returns an error. Thus a pairing decrement is needed
    to prevent refcount leak. Fix this by replacing this API with
    pm_runtime_resume_and_get(), which will not change the runtime
    PM counter on error.
    
    Signed-off-by: Dinghao Liu <dinghao.liu@zju.edu.cn>
    Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
    Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
    dinghaoliu authored and mchehab committed Apr 9, 2021
  34. media: imx-jpeg: Fix double free in mxc_jpeg_remove

    The video_unregister_device already calls video_device_release,
    so remove video_device_release, to avoid a double free, when removing
    the module. This showed up in a repeated rmmod/insmod scenario.
    
    Signed-off-by: Mirela Rabulea <mirela.rabulea@nxp.com>
    Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
    Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
    mrabule1 authored and mchehab committed Apr 9, 2021
  35. media: i2c: adv7842: fix possible use-after-free in adv7842_remove()

    This driver's remove path calls cancel_delayed_work(). However, that
    function does not wait until the work function finishes. This means
    that the callback function may still be running after the driver's
    remove function has finished, which would result in a use-after-free.
    
    Fix by calling cancel_delayed_work_sync(), which ensures that
    the work is properly cancelled, no longer running, and unable
    to re-schedule itself.
    
    Reported-by: Hulk Robot <hulkci@huawei.com>
    Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>
    Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
    Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
    Yang Yingliang authored and mchehab committed Apr 9, 2021
Older