Re: [PATCH] iio: imu: inv_mpu6050: check for temp_fifo_enable

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sun, Aug 9, 2020 at 7:00 PM <trix@xxxxxxxxxx> wrote:
>
> From: Tom Rix <trix@xxxxxxxxxx>
>
> 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 <trix@xxxxxxxxxx>

There shouldn't be a blank line in between.

Other than that,
Reviewed-by: Andy Shevchenko <andy.shevchenko@xxxxxxxxx>



> ---
>  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



[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Input]     [Linux Kernel]     [Linux SCSI]     [X.org]

  Powered by Linux