Message ID | 20210216174146.106639-6-jacopo+renesas@jmondi.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | media: i2c: GMSL reliability improvements | expand |
Hi Jacopo, On 16/02/2021 17:41, Jacopo Mondi wrote: > The camera module initialization routine does not check the return > value of a few functions. Fix that. > Sounds quite valid to me. Reviewed-by: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com> > Signed-off-by: Jacopo Mondi <jacopo+renesas@jmondi.org> > --- > drivers/media/i2c/rdacm20.c | 13 +++++++++---- > 1 file changed, 9 insertions(+), 4 deletions(-) > > diff --git a/drivers/media/i2c/rdacm20.c b/drivers/media/i2c/rdacm20.c > index 56406d82b5ac..e982373908f2 100644 > --- a/drivers/media/i2c/rdacm20.c > +++ b/drivers/media/i2c/rdacm20.c > @@ -470,11 +470,16 @@ static int rdacm20_initialize(struct rdacm20_device *dev) > * Ensure that we have a good link configuration before attempting to > * identify the device. > */ > - max9271_configure_i2c(&dev->serializer, MAX9271_I2CSLVSH_469NS_234NS | > - MAX9271_I2CSLVTO_1024US | > - MAX9271_I2CMSTBT_105KBPS); > + ret = max9271_configure_i2c(&dev->serializer, > + MAX9271_I2CSLVSH_469NS_234NS | > + MAX9271_I2CSLVTO_1024US | > + MAX9271_I2CMSTBT_105KBPS); > + if (ret) > + return ret; > > - max9271_configure_gmsl_link(&dev->serializer); > + ret = max9271_configure_gmsl_link(&dev->serializer); > + if (ret) > + return ret; > > ret = max9271_verify_id(&dev->serializer); > if (ret < 0) >
Hi Jacopo, Thank you for the patch. On Tue, Feb 16, 2021 at 06:41:35PM +0100, Jacopo Mondi wrote: > The camera module initialization routine does not check the return > value of a few functions. Fix that. > > Signed-off-by: Jacopo Mondi <jacopo+renesas@jmondi.org> > --- > drivers/media/i2c/rdacm20.c | 13 +++++++++---- > 1 file changed, 9 insertions(+), 4 deletions(-) > > diff --git a/drivers/media/i2c/rdacm20.c b/drivers/media/i2c/rdacm20.c > index 56406d82b5ac..e982373908f2 100644 > --- a/drivers/media/i2c/rdacm20.c > +++ b/drivers/media/i2c/rdacm20.c > @@ -470,11 +470,16 @@ static int rdacm20_initialize(struct rdacm20_device *dev) > * Ensure that we have a good link configuration before attempting to > * identify the device. > */ > - max9271_configure_i2c(&dev->serializer, MAX9271_I2CSLVSH_469NS_234NS | > - MAX9271_I2CSLVTO_1024US | > - MAX9271_I2CMSTBT_105KBPS); > + ret = max9271_configure_i2c(&dev->serializer, > + MAX9271_I2CSLVSH_469NS_234NS | > + MAX9271_I2CSLVTO_1024US | > + MAX9271_I2CMSTBT_105KBPS); > + if (ret) > + return ret; > > - max9271_configure_gmsl_link(&dev->serializer); > + ret = max9271_configure_gmsl_link(&dev->serializer); > + if (ret) > + return ret; This looks good, so Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> But it would be more useful if max9271_configure_gmsl_link() returned errors when I2C writes fail :-) > > ret = max9271_verify_id(&dev->serializer); > if (ret < 0)
Hi On Mon, Feb 22, 2021 at 03:09:26AM +0200, Laurent Pinchart wrote: > Hi Jacopo, > > Thank you for the patch. > > On Tue, Feb 16, 2021 at 06:41:35PM +0100, Jacopo Mondi wrote: > > The camera module initialization routine does not check the return > > value of a few functions. Fix that. > > > > Signed-off-by: Jacopo Mondi <jacopo+renesas@jmondi.org> > > --- > > drivers/media/i2c/rdacm20.c | 13 +++++++++---- > > 1 file changed, 9 insertions(+), 4 deletions(-) > > > > diff --git a/drivers/media/i2c/rdacm20.c b/drivers/media/i2c/rdacm20.c > > index 56406d82b5ac..e982373908f2 100644 > > --- a/drivers/media/i2c/rdacm20.c > > +++ b/drivers/media/i2c/rdacm20.c > > @@ -470,11 +470,16 @@ static int rdacm20_initialize(struct rdacm20_device *dev) > > * Ensure that we have a good link configuration before attempting to > > * identify the device. > > */ > > - max9271_configure_i2c(&dev->serializer, MAX9271_I2CSLVSH_469NS_234NS | > > - MAX9271_I2CSLVTO_1024US | > > - MAX9271_I2CMSTBT_105KBPS); > > + ret = max9271_configure_i2c(&dev->serializer, > > + MAX9271_I2CSLVSH_469NS_234NS | > > + MAX9271_I2CSLVTO_1024US | > > + MAX9271_I2CMSTBT_105KBPS); > > + if (ret) > > + return ret; > > > > - max9271_configure_gmsl_link(&dev->serializer); > > + ret = max9271_configure_gmsl_link(&dev->serializer); > > + if (ret) > > + return ret; > > This looks good, so > > Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> > > But it would be more useful if max9271_configure_gmsl_link() returned > errors when I2C writes fail :-) > Indeed, I'll add a patch to report back errors on failed i2c writes. Thanks j > > > > ret = max9271_verify_id(&dev->serializer); > > if (ret < 0) > > -- > Regards, > > Laurent Pinchart
diff --git a/drivers/media/i2c/rdacm20.c b/drivers/media/i2c/rdacm20.c index 56406d82b5ac..e982373908f2 100644 --- a/drivers/media/i2c/rdacm20.c +++ b/drivers/media/i2c/rdacm20.c @@ -470,11 +470,16 @@ static int rdacm20_initialize(struct rdacm20_device *dev) * Ensure that we have a good link configuration before attempting to * identify the device. */ - max9271_configure_i2c(&dev->serializer, MAX9271_I2CSLVSH_469NS_234NS | - MAX9271_I2CSLVTO_1024US | - MAX9271_I2CMSTBT_105KBPS); + ret = max9271_configure_i2c(&dev->serializer, + MAX9271_I2CSLVSH_469NS_234NS | + MAX9271_I2CSLVTO_1024US | + MAX9271_I2CMSTBT_105KBPS); + if (ret) + return ret; - max9271_configure_gmsl_link(&dev->serializer); + ret = max9271_configure_gmsl_link(&dev->serializer); + if (ret) + return ret; ret = max9271_verify_id(&dev->serializer); if (ret < 0)
The camera module initialization routine does not check the return value of a few functions. Fix that. Signed-off-by: Jacopo Mondi <jacopo+renesas@jmondi.org> --- drivers/media/i2c/rdacm20.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-)