diff options
Diffstat (limited to 'drivers/media/platform/samsung/exynos4-is/fimc-isp-video.c')
-rw-r--r-- | drivers/media/platform/samsung/exynos4-is/fimc-isp-video.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/drivers/media/platform/samsung/exynos4-is/fimc-isp-video.c b/drivers/media/platform/samsung/exynos4-is/fimc-isp-video.c index f6a302fa8d37..8fa26969c411 100644 --- a/drivers/media/platform/samsung/exynos4-is/fimc-isp-video.c +++ b/drivers/media/platform/samsung/exynos4-is/fimc-isp-video.c @@ -449,17 +449,22 @@ static int isp_video_s_fmt_mplane(struct file *file, void *priv, static int isp_video_pipeline_validate(struct fimc_isp *isp) { struct v4l2_subdev *sd = &isp->subdev; - struct v4l2_subdev_format sink_fmt, src_fmt; struct media_pad *pad; int ret; while (1) { + struct v4l2_subdev_format sink_fmt = { + .which = V4L2_SUBDEV_FORMAT_ACTIVE, + }; + struct v4l2_subdev_format src_fmt = { + .which = V4L2_SUBDEV_FORMAT_ACTIVE, + }; + /* Retrieve format at the sink pad */ pad = &sd->entity.pads[0]; if (!(pad->flags & MEDIA_PAD_FL_SINK)) break; sink_fmt.pad = pad->index; - sink_fmt.which = V4L2_SUBDEV_FORMAT_ACTIVE; ret = v4l2_subdev_call(sd, pad, get_fmt, NULL, &sink_fmt); if (ret < 0 && ret != -ENOIOCTLCMD) return -EPIPE; @@ -471,7 +476,6 @@ static int isp_video_pipeline_validate(struct fimc_isp *isp) sd = media_entity_to_v4l2_subdev(pad->entity); src_fmt.pad = pad->index; - src_fmt.which = V4L2_SUBDEV_FORMAT_ACTIVE; ret = v4l2_subdev_call(sd, pad, get_fmt, NULL, &src_fmt); if (ret < 0 && ret != -ENOIOCTLCMD) return -EPIPE; |