Hi Laurent, In the subject: s/in // On Tue, Aug 23, 2022 at 08:19:30PM +0300, Laurent Pinchart wrote: > The local sd_fmt variable in rkisp1_capture_link_validate() has > uninitialized fields, which causes random failures when calling the > subdev .get_fmt() operation. Fix it by initialization the variable when s/initialization/initializing/ > declaring it, which zeros all other fields. > > Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Reviewed-by: Paul Elder <paul.elder@xxxxxxxxxxxxxxxx> > --- > drivers/media/platform/rockchip/rkisp1/rkisp1-capture.c | 7 ++++--- > 1 file changed, 4 insertions(+), 3 deletions(-) > > diff --git a/drivers/media/platform/rockchip/rkisp1/rkisp1-capture.c b/drivers/media/platform/rockchip/rkisp1/rkisp1-capture.c > index 0d5e3373e1f5..28f5bf284314 100644 > --- a/drivers/media/platform/rockchip/rkisp1/rkisp1-capture.c > +++ b/drivers/media/platform/rockchip/rkisp1/rkisp1-capture.c > @@ -1394,11 +1394,12 @@ static int rkisp1_capture_link_validate(struct media_link *link) > struct rkisp1_capture *cap = video_get_drvdata(vdev); > const struct rkisp1_capture_fmt_cfg *fmt = > rkisp1_find_fmt_cfg(cap, cap->pix.fmt.pixelformat); > - struct v4l2_subdev_format sd_fmt; > + struct v4l2_subdev_format sd_fmt = { > + .which = V4L2_SUBDEV_FORMAT_ACTIVE, > + .pad = link->source->index, > + }; > int ret; > > - sd_fmt.which = V4L2_SUBDEV_FORMAT_ACTIVE; > - sd_fmt.pad = link->source->index; > ret = v4l2_subdev_call(sd, pad, get_fmt, NULL, &sd_fmt); > if (ret) > return ret;