diff options
author | Ming Qian <[email protected]> | 2023-07-18 17:50:13 +0800 |
---|---|---|
committer | Hans Verkuil <[email protected]> | 2023-07-25 09:31:49 +0200 |
commit | 5bd28eae48589694ff4e5badb03bf75dae695b3f (patch) | |
tree | e173a6aa71b1ea1104b2d730b0acf4fca3ef5254 | |
parent | cf6a06354989c41b536be8e094561ee16223cf1f (diff) |
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 <[email protected]>
Signed-off-by: Ming Qian <[email protected]>
Signed-off-by: Hans Verkuil <[email protected]>
-rw-r--r-- | drivers/media/platform/amphion/vpu_core.c | 2 |
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); |