From d75c75fba7c31d452f67982875e554e181295f9f Mon Sep 17 00:00:00 2001 From: Zefa Chen Date: Sun, 1 May 2022 16:50:39 +0800 Subject: [PATCH] media: rockchip: vicap fixed size err when get input format rkcif-mipi-lvds: ERROR: csi size err,intstat:0x2000000, lastline:0!! rkcif-mipi-lvds: ERROR: csi size err,intstat:0x2000000, lastline:0!! rkcif-mipi-lvds: ERROR: csi size err,intstat:0x2000000, lastline:0!! Signed-off-by: Zefa Chen Change-Id: I85f63687b178bf2ecaddc13f49f3191e8edab46d --- drivers/media/platform/rockchip/cif/capture.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/drivers/media/platform/rockchip/cif/capture.c b/drivers/media/platform/rockchip/cif/capture.c index 6e3b7ddde4b3..dcecfeefb823 100644 --- a/drivers/media/platform/rockchip/cif/capture.c +++ b/drivers/media/platform/rockchip/cif/capture.c @@ -3702,10 +3702,16 @@ static int rkcif_sanity_check_fmt(struct rkcif_stream *stream, struct v4l2_device *v4l2_dev = &dev->v4l2_dev; struct v4l2_rect input, *crop; - stream->cif_fmt_in = get_input_fmt(dev->active_sensor->sd, - &input, stream->id, &dev->channels[stream->id]); - if (!stream->cif_fmt_in) { - v4l2_err(v4l2_dev, "Input fmt is invalid\n"); + if (dev->terminal_sensor.sd) { + stream->cif_fmt_in = get_input_fmt(dev->terminal_sensor.sd, + &input, stream->id, + &dev->channels[stream->id]); + if (!stream->cif_fmt_in) { + v4l2_err(v4l2_dev, "Input fmt is invalid\n"); + return -EINVAL; + } + } else { + v4l2_err(v4l2_dev, "terminal_sensor is invalid\n"); return -EINVAL; }