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