On Fri Jun 13 17:34:22 2025 +0200, Niklas Söderlund wrote:
> When extending the driver with Gen4 support the iteration of over
> possible remote subdevices changed from being R-Car CSI-2 Rx only to
> also cover R-Car CSISP instances. In two loops updating the bounds
> variable was missed.
> 
> This had no ill effect as the count the two values have always been the
> same in the past. Fix it by looking at the array size.
> 
> Signed-off-by: Niklas Söderlund <niklas.soderlund+rene...@ragnatech.se>
> Tested-by: Tomi Valkeinen <tomi.valkeinen+rene...@ideasonboard.com>
> Reviewed-by: Laurent Pinchart <laurent.pinchart+rene...@ideasonboard.com>
> Link: 
> https://lore.kernel.org/r/20250613153434.2001800-2-niklas.soderlund+rene...@ragnatech.se
> Signed-off-by: Laurent Pinchart <laurent.pinch...@ideasonboard.com>
> Signed-off-by: Hans Verkuil <hverk...@xs4all.nl>

Patch committed.

Thanks,
Hans Verkuil

 drivers/media/platform/renesas/rcar-vin/rcar-core.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

---

diff --git a/drivers/media/platform/renesas/rcar-vin/rcar-core.c 
b/drivers/media/platform/renesas/rcar-vin/rcar-core.c
index 846ae7989b1d..cf5830d7d7b1 100644
--- a/drivers/media/platform/renesas/rcar-vin/rcar-core.c
+++ b/drivers/media/platform/renesas/rcar-vin/rcar-core.c
@@ -213,7 +213,7 @@ static int rvin_group_entity_to_remote_id(struct rvin_group 
*group,
 
        sd = media_entity_to_v4l2_subdev(entity);
 
-       for (i = 0; i < RVIN_REMOTES_MAX; i++)
+       for (i = 0; i < ARRAY_SIZE(group->remotes); i++)
                if (group->remotes[i].subdev == sd)
                        return i;
 
@@ -262,7 +262,7 @@ static void rvin_group_notify_unbind(struct 
v4l2_async_notifier *notifier,
 
        mutex_lock(&vin->group->lock);
 
-       for (i = 0; i < RVIN_CSI_MAX; i++) {
+       for (i = 0; i < ARRAY_SIZE(vin->group->remotes); i++) {
                if (vin->group->remotes[i].asc != asc)
                        continue;
                vin->group->remotes[i].subdev = NULL;
@@ -284,7 +284,7 @@ static int rvin_group_notify_bound(struct 
v4l2_async_notifier *notifier,
 
        mutex_lock(&vin->group->lock);
 
-       for (i = 0; i < RVIN_CSI_MAX; i++) {
+       for (i = 0; i < ARRAY_SIZE(vin->group->remotes); i++) {
                if (vin->group->remotes[i].asc != asc)
                        continue;
                vin->group->remotes[i].subdev = subdev;

Reply via email to