On Thu, 13 Aug 2020 08:04:06 +0000
Jean-Baptiste Maneyrol <jmaney...@invensense.com> wrote:

> Hello,
> 
> this is a case that should never be happening since available scan mask only 
> advertise Accel + Temp, Gyro + Temp, or Accel + Gyro + Temp.
> More than that, temperature sensor is not working when MEMS engine is off. 
> (it's only purpose it to measure temperature of the MEMS to do data 
> temperature compensation).
> 
> So I think we can let this check as it is currently, since this is not a 
> supported configuration.
> 

Perhaps a good option would be to add a suitably positioned comment to make
this clear so we don't get further patches 'fixing' this in the future?

Thanks,

Jonathan

> Best regards,
> JB
> 
> 
> From: Andy Shevchenko <andy.shevche...@gmail.com>
> Sent: Monday, August 10, 2020 10:02
> To: t...@redhat.com <t...@redhat.com>
> Cc: Jonathan Cameron <ji...@kernel.org>; Hartmut Knaack <knaac...@gmx.de>; 
> Lars-Peter Clausen <l...@metafoo.de>; Peter Meerwald <pme...@pmeerw.net>; 
> Jean-Baptiste Maneyrol <jmaney...@invensense.com>; Michał Mirosław 
> <mirq-li...@rere.qmqm.pl>; Lee Jones <lee.jo...@linaro.org>; linux-iio 
> <linux-...@vger.kernel.org>; Linux Kernel Mailing List 
> <linux-kernel@vger.kernel.org>
> Subject: Re: [PATCH] iio: imu: inv_mpu6050: check for temp_fifo_enable 
>  
>  CAUTION: This email originated from outside of the organization. Please make 
> sure the sender is who they say they are and do not click links or open 
> attachments unless you recognize the sender and know the content is safe.
> 
> On Sun, Aug 9, 2020 at 7:00 PM <t...@redhat.com> wrote:
> >
> > From: Tom Rix <t...@redhat.com>
> >
> > clang static analysis reports this problem
> >
> > inv_mpu_ring.c:181:18: warning: Division by zero
> >         nb = fifo_count / bytes_per_datum;
> >              ~~~~~~~~~~~^~~~~~~~~~~~~~~~~
> >
> > This is a false positive.
> > Dividing by 0 is protected by this check
> >
> >         if (!(st->chip_config.accl_fifo_enable |
> >                 st->chip_config.gyro_fifo_enable |
> >                 st->chip_config.magn_fifo_enable))
> >                 goto end_session;
> >         bytes_per_datum = 0;
> >
> > But there is another fifo, temp_fifo
> >
> >         if (st->chip_config.temp_fifo_enable)
> >                 bytes_per_datum += INV_MPU6050_BYTES_PER_TEMP_SENSOR;
> >
> > Which would be skipped if it was the only enabled fifo.
> > So add to the check.
> >  
> 
> > Fixes: 2e4c0a5e2576 ("iio: imu: inv_mpu6050: add fifo temperature data 
> > support")
> >
> > Signed-off-by: Tom Rix <t...@redhat.com>  
> 
> There shouldn't be a blank line in between.
> 
> Other than that,
> Reviewed-by: Andy Shevchenko <andy.shevche...@gmail.com>
> 
> 
> 
> > ---
> >  drivers/iio/imu/inv_mpu6050/inv_mpu_ring.c | 1 +
> >  1 file changed, 1 insertion(+)
> >
> > diff --git a/drivers/iio/imu/inv_mpu6050/inv_mpu_ring.c 
> > b/drivers/iio/imu/inv_mpu6050/inv_mpu_ring.c
> > index b533fa2dad0a..5240a400dcb4 100644
> > --- a/drivers/iio/imu/inv_mpu6050/inv_mpu_ring.c
> > +++ b/drivers/iio/imu/inv_mpu6050/inv_mpu_ring.c
> > @@ -141,6 +141,7 @@ irqreturn_t inv_mpu6050_read_fifo(int irq, void *p)
> >
> >         if (!(st->chip_config.accl_fifo_enable |
> >                 st->chip_config.gyro_fifo_enable |
> > +               st->chip_config.temp_fifo_enable |
> >                 st->chip_config.magn_fifo_enable))
> >                 goto end_session;
> >         bytes_per_datum = 0;
> > --
> > 2.18.1
> >  
> 
> 
> --
> With Best Regards,
> Andy Shevchenko

Reply via email to