[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <aHYMpVIXJNuOfE55@smile.fi.intel.com>
Date: Tue, 15 Jul 2025 11:09:09 +0300
From: Andy Shevchenko <andriy.shevchenko@...el.com>
To: Dan Carpenter <dan.carpenter@...aro.org>
Cc: oe-kbuild@...ts.linux.dev,
Remi Buisson via B4 Relay <devnull+remi.buisson.tdk.com@...nel.org>,
Jonathan Cameron <jic23@...nel.org>,
David Lechner <dlechner@...libre.com>,
Nuno Sá <nuno.sa@...log.com>,
Andy Shevchenko <andy@...nel.org>, Rob Herring <robh@...nel.org>,
Krzysztof Kozlowski <krzk@...nel.org>,
Conor Dooley <conor+dt@...nel.org>, lkp@...el.com,
oe-kbuild-all@...ts.linux.dev, linux-kernel@...r.kernel.org,
linux-iio@...r.kernel.org, devicetree@...r.kernel.org,
Remi Buisson <remi.buisson@....com>
Subject: Re: [PATCH v2 5/8] iio: imu: inv_icm45600: add I2C driver for
inv_icm45600 driver
On Mon, Jul 14, 2025 at 11:21:17PM +0300, Dan Carpenter wrote:
> Hi Remi,
>
> kernel test robot noticed the following build warnings:
It looks like a false positive, but the code is fragile.
> 1fb5c2bf7348d0 Remi Buisson 2025-07-10 99 unsigned int fifo_en = 0;
> 1fb5c2bf7348d0 Remi Buisson 2025-07-10 100 unsigned int sleep;
> 1fb5c2bf7348d0 Remi Buisson 2025-07-10 101 int ret;
> 1fb5c2bf7348d0 Remi Buisson 2025-07-10 102
> 1fb5c2bf7348d0 Remi Buisson 2025-07-10 103 scoped_guard(mutex, &st->lock) {
> 1fb5c2bf7348d0 Remi Buisson 2025-07-10 104 if (*scan_mask & BIT(INV_ICM45600_GYRO_SCAN_TEMP))
> 1fb5c2bf7348d0 Remi Buisson 2025-07-10 105 fifo_en |= INV_ICM45600_SENSOR_TEMP;
> 1fb5c2bf7348d0 Remi Buisson 2025-07-10 106
> 1fb5c2bf7348d0 Remi Buisson 2025-07-10 107 if (*scan_mask & (BIT(INV_ICM45600_GYRO_SCAN_X) |
> 1fb5c2bf7348d0 Remi Buisson 2025-07-10 108 BIT(INV_ICM45600_GYRO_SCAN_Y) |
> 1fb5c2bf7348d0 Remi Buisson 2025-07-10 109 BIT(INV_ICM45600_GYRO_SCAN_Z))) {
> 1fb5c2bf7348d0 Remi Buisson 2025-07-10 110 /* enable gyro sensor */
> 1fb5c2bf7348d0 Remi Buisson 2025-07-10 111 conf.mode = gyro_st->power_mode;
> 1fb5c2bf7348d0 Remi Buisson 2025-07-10 112 ret = inv_icm45600_set_gyro_conf(st, &conf, &sleep);
>
> sleep isn't necessarily set if nothing changed.
>
> 1fb5c2bf7348d0 Remi Buisson 2025-07-10 113 if (ret)
> 1fb5c2bf7348d0 Remi Buisson 2025-07-10 114 return ret;
> 1fb5c2bf7348d0 Remi Buisson 2025-07-10 115 fifo_en |= INV_ICM45600_SENSOR_GYRO;
> 1fb5c2bf7348d0 Remi Buisson 2025-07-10 116 }
> 1fb5c2bf7348d0 Remi Buisson 2025-07-10 117 /* update data FIFO write */
> 1fb5c2bf7348d0 Remi Buisson 2025-07-10 118 ret = inv_icm45600_buffer_set_fifo_en(st, fifo_en | st->fifo.en);
> 1fb5c2bf7348d0 Remi Buisson 2025-07-10 119 }
> 1fb5c2bf7348d0 Remi Buisson 2025-07-10 120 /* sleep required time */
> 1fb5c2bf7348d0 Remi Buisson 2025-07-10 @121 if (sleep)
> 1fb5c2bf7348d0 Remi Buisson 2025-07-10 122 msleep(sleep);
> 1fb5c2bf7348d0 Remi Buisson 2025-07-10 123
> 1fb5c2bf7348d0 Remi Buisson 2025-07-10 124 return ret;
--
With Best Regards,
Andy Shevchenko
Powered by blists - more mailing lists