summaryrefslogtreecommitdiff
path: root/drivers/media/platform/amphion
diff options
context:
space:
mode:
authorMing Qian <ming.qian@nxp.com>2023-07-18 12:50:13 +0300
committerHans Verkuil <hverkuil-cisco@xs4all.nl>2023-07-25 10:31:49 +0300
commit5bd28eae48589694ff4e5badb03bf75dae695b3f (patch)
treee173a6aa71b1ea1104b2d730b0acf4fca3ef5254 /drivers/media/platform/amphion
parentcf6a06354989c41b536be8e094561ee16223cf1f (diff)
downloadlinux-5bd28eae48589694ff4e5badb03bf75dae695b3f.tar.xz
media: amphion: ensure the bitops don't cross boundaries
the supported_instance_count determine the instance index range, it shouldn't exceed the bits number of instance_mask, otherwise the bitops of instance_mask may cross boundaries Fixes: 9f599f351e86 ("media: amphion: add vpu core driver") Reviewed-by: Nicolas Dufresne <nicolas.dufresne@collabora.com> Signed-off-by: Ming Qian <ming.qian@nxp.com> Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Diffstat (limited to 'drivers/media/platform/amphion')
-rw-r--r--drivers/media/platform/amphion/vpu_core.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/media/platform/amphion/vpu_core.c b/drivers/media/platform/amphion/vpu_core.c
index bb73b3815af2..1af6fc9460d4 100644
--- a/drivers/media/platform/amphion/vpu_core.c
+++ b/drivers/media/platform/amphion/vpu_core.c
@@ -88,6 +88,8 @@ static int vpu_core_boot_done(struct vpu_core *core)
core->supported_instance_count = min(core->supported_instance_count, count);
}
+ if (core->supported_instance_count >= BITS_PER_TYPE(core->instance_mask))
+ core->supported_instance_count = BITS_PER_TYPE(core->instance_mask);
core->fw_version = fw_version;
vpu_core_set_state(core, VPU_CORE_ACTIVE);