Re: [PATCH] iio: accel: fxls8962af: Initialize return value

From: Dan Carpenter
Date: Fri Jul 09 2021 - 13:13:45 EST


On Fri, Jul 09, 2021 at 04:35:05PM +0200, Sean Nyekjaer wrote:
> On Fri, Jul 09, 2021 at 07:50:48PM +0530, Souptick Joarder wrote:
> > On Fri, 9 Jul, 2021, 9:06 am Fabio Estevam, <festevam@xxxxxxxxx> wrote:
> >
> > > Hi Souptick,
> > >
> > > On Fri, Jul 9, 2021 at 12:17 AM Souptick Joarder <jrdr.linux@xxxxxxxxx>
> > > wrote:
> > > >
> > > > kernel test robot throws below warning ->
> > > >
> > > > smatch warnings:
> > > > drivers/iio/accel/fxls8962af-core.c:640
> > > > fxls8962af_i2c_raw_read_errata3() error: uninitialized symbol 'ret'.
> > > >
> > > > Initialize it.
> > > >
> > > > Reported-by: kernel test robot <lkp@xxxxxxxxx>
> > > > Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
> > > > Signed-off-by: Souptick Joarder <jrdr.linux@xxxxxxxxx>
> > > > ---
> > > > drivers/iio/accel/fxls8962af-core.c | 2 +-
> > > > 1 file changed, 1 insertion(+), 1 deletion(-)
> > > >
> > > > diff --git a/drivers/iio/accel/fxls8962af-core.c
> > > b/drivers/iio/accel/fxls8962af-core.c
> > > > index 078d87865fde..8af1c8f58e83 100644
> > > > --- a/drivers/iio/accel/fxls8962af-core.c
> > > > +++ b/drivers/iio/accel/fxls8962af-core.c
> > > > @@ -628,7 +628,7 @@ static int fxls8962af_i2c_raw_read_errata3(struct
> > > fxls8962af_data *data,
> > > > u16 *buffer, int samples,
> > > > int sample_length)
> > > > {
> > > > - int i, ret;
> > > > + int i, ret = -EINVAL;
> > > >
> > > > for (i = 0; i < samples; i++) {
> > > > ret = regmap_raw_read(data->regmap, FXLS8962AF_BUF_X_LSB,
> > >
> > > Would the change below work?
> > >
> >
> > This function returns -ERRNO when failed. If it is not entering loop,
> > ideally it should return -ERRNO, not 0. No ?
>
> samples can't be 0, as fxls8962af_fifo_transfer() is never called if
> samples are 0 :)
>

Yeah, you're right. Smatch can figure that out if you build the cross
function DB, but it's a little bit trick for kbuild to use the DB when
it runs on so many git trees. The DB takes hours to build so kbuild
doesn't use it.

regards,
dan carpenter