diff --git a/drivers/media/platform/rockchip/cif/capture.c b/drivers/media/platform/rockchip/cif/capture.c index e07a89ced802..1f9497235c48 100644 --- a/drivers/media/platform/rockchip/cif/capture.c +++ b/drivers/media/platform/rockchip/cif/capture.c @@ -1717,7 +1717,9 @@ static int rkcif_csi_channel_init(struct rkcif_stream *stream, channel->data_type = get_data_type(stream->cif_fmt_in->mbus_code, channel->cmd_mode_en); - if (stream->vc >= 0) + if (dev->hdr.mode == NO_HDR || + (dev->hdr.mode == HDR_X2 && stream->vc > 1) || + (dev->hdr.mode == HDR_X3 && stream->vc > 2)) channel->vc = stream->vc; else channel->vc = channel->id;