Re: [PATCH 3/4] media: i2c: ds90ub960: Fix VC mapping when ports skipped
From: Jai Luthra
Date: Mon Jun 08 2026 - 13:11:23 EST
Hi Rishikesh,
Quoting Rishikesh Donadkar (2026-06-08 19:59:00)
> From: Jai Luthra <j-luthra@xxxxxx>
>
> Currently the for loop that maps virtual channels from RX to TX ports
> terminates at the first unconnected RX port.
>
> Fix that by instead continuing to scan the remaining ports.
>
It's never a good idea to introduce a bug in one patch and fix it in the
next. Please squash it in next revision.
Thanks,
Jai
> Signed-off-by: Jai Luthra <j-luthra@xxxxxx>
> Signed-off-by: Rishikesh Donadkar <r-donadkar@xxxxxx>
> ---
> drivers/media/i2c/ds90ub960.c | 7 ++++---
> 1 file changed, 4 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/media/i2c/ds90ub960.c b/drivers/media/i2c/ds90ub960.c
> index 506b436fe50c..d1597659639f 100644
> --- a/drivers/media/i2c/ds90ub960.c
> +++ b/drivers/media/i2c/ds90ub960.c
> @@ -3488,15 +3488,16 @@ static void ub960_get_vc_maps(struct ub960_data *priv, u8 *vc_map)
> struct device *dev = &priv->client->dev;
> u8 nport, available_vc = 0;
>
> - for (nport = 0;
> - nport < priv->hw_data->num_rxports && priv->rxports[nport];
> - ++nport) {
> + for (nport = 0; nport < priv->hw_data->num_rxports; ++nport) {
> struct v4l2_mbus_frame_desc source_fd;
> bool used_vc[UB960_MAX_VC] = {false};
> u8 vc, cur_vc = available_vc;
> int j, ret;
> u8 map;
>
> + if (!priv->rxports[nport])
> + continue;
> +
> ret = v4l2_subdev_call(priv->rxports[nport]->source.sd, pad,
> get_frame_desc,
> priv->rxports[nport]->source.pad,
> --
> 2.34.1
>