From 9e6481e6596d59e1014ee747d0160139f12df51d Mon Sep 17 00:00:00 2001 From: Jukka Kaartinen Date: Fri, 7 Mar 2025 10:42:06 +0000 Subject: [PATCH] vi: Add check for csi_port Validate csi_port already in the setup phase to have same behaviour as in the QNX. Bug 5048625 Change-Id: Id53faa8c97899fe590da9b2e90dc72cac9e1b4ae Signed-off-by: Jukka Kaartinen Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3315532 Reviewed-by: mobile promotions Tested-by: mobile promotions GVS: buildbot_gerritrpt Reviewed-by: Mohit Ingale Reviewed-by: Semi Malinen Reviewed-by: svcacv Reviewed-by: Frank Chen --- .../platform/tegra/camera/fusa-capture/capture-vi.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/drivers/media/platform/tegra/camera/fusa-capture/capture-vi.c b/drivers/media/platform/tegra/camera/fusa-capture/capture-vi.c index e62712b8..cd813ccb 100644 --- a/drivers/media/platform/tegra/camera/fusa-capture/capture-vi.c +++ b/drivers/media/platform/tegra/camera/fusa-capture/capture-vi.c @@ -105,6 +105,11 @@ */ #define MAX_VIRTUAL_CHANNEL_PER_STREAM U32_C(16) +/** + * @brief Maximum number of NVCSI ports supported. + */ +#define MAX_NVCSI_PORT_IDS U32_C(0x8) + /** * @brief A 2-D array for storing all possible tegra_vi_channel struct pointers. */ @@ -675,6 +680,13 @@ int vi_capture_setup( return -EINVAL; } +#ifndef NV_IS_L4T + if (setup->csi_port >= MAX_NVCSI_PORT_IDS) { + dev_err(dev, "Invalid csi port\n"); + return -EINVAL; + } +#endif + info = platform_get_drvdata(chan->vi_capture_pdev); vi_inst = info->vi_instance_table[setup->csi_stream_id];