Message ID | 20240328145841.2514534-1-festevam@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [v2] media: ov2680: Clear the 'ret' variable on success | expand |
Hi, On 3/28/24 3:58 PM, Fabio Estevam wrote: > From: Fabio Estevam <festevam@denx.de> > > Since commit 63b0cd30b78e ("media: ov2680: Add bus-cfg / endpoint > property verification") even when the correct 'link-frequencies' > property is passed in the devicetree, the driver fails to probe: > > ov2680 1-0036: probe with driver ov2680 failed with error -22 > > The reason is that the variable 'ret' may contain the -EINVAL value > from a previous assignment: > > ret = fwnode_property_read_u32(dev_fwnode(dev), "clock-frequency", > &rate); > > Fix the problem by clearing 'ret' on the successful path. > > Tested on imx7s-warp board with the following devicetree: > > port { > ov2680_to_mipi: endpoint { > remote-endpoint = <&mipi_from_sensor>; > clock-lanes = <0>; > data-lanes = <1>; > link-frequencies = /bits/ 64 <330000000>; > }; > }; > > Cc: stable@vger.kernel.org > Fixes: 63b0cd30b78e ("media: ov2680: Add bus-cfg / endpoint property verification") > Suggested-by: Hans de Goede <hdegoede@redhat.com> > Signed-off-by: Fabio Estevam <festevam@denx.de> Thanks, patch looks good to me: Reviewed-by: Hans de Goede <hdegoede@redhat.com> Regards, Hans > --- > Changes since v1: > - Use Hans' suggestion to clear 'ret'. > > drivers/media/i2c/ov2680.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/drivers/media/i2c/ov2680.c b/drivers/media/i2c/ov2680.c > index 39d321e2b7f9..3e3b7c2b492c 100644 > --- a/drivers/media/i2c/ov2680.c > +++ b/drivers/media/i2c/ov2680.c > @@ -1135,6 +1135,7 @@ static int ov2680_parse_dt(struct ov2680_dev *sensor) > goto out_free_bus_cfg; > } > > + ret = 0; > out_free_bus_cfg: > v4l2_fwnode_endpoint_free(&bus_cfg); > return ret;
diff --git a/drivers/media/i2c/ov2680.c b/drivers/media/i2c/ov2680.c index 39d321e2b7f9..3e3b7c2b492c 100644 --- a/drivers/media/i2c/ov2680.c +++ b/drivers/media/i2c/ov2680.c @@ -1135,6 +1135,7 @@ static int ov2680_parse_dt(struct ov2680_dev *sensor) goto out_free_bus_cfg; } + ret = 0; out_free_bus_cfg: v4l2_fwnode_endpoint_free(&bus_cfg); return ret;