]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
iio: pressure: bmp280: Fix waiting time for BMP3xx configuration
authorVasileios Amoiridis <vassilisamir@gmail.com>
Thu, 11 Jul 2024 21:15:50 +0000 (23:15 +0200)
committerJonathan Cameron <Jonathan.Cameron@huawei.com>
Sat, 3 Aug 2024 09:13:38 +0000 (10:13 +0100)
According to the datasheet, both pressure and temperature can go up to
oversampling x32. With this option, the maximum measurement time is not
80ms (this is for press x32 and temp x2), but it is 130ms nominal
(calculated from table 3.9.2) and since most of the maximum values
are around +15%, it is configured to 150ms.

Fixes: 8d329309184d ("iio: pressure: bmp280: Add support for BMP380 sensor family")
Signed-off-by: Vasileios Amoiridis <vassilisamir@gmail.com>
Link: https://patch.msgid.link/20240711211558.106327-3-vassilisamir@gmail.com
Cc: <Stable@vger.kernel.org>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
drivers/iio/pressure/bmp280-core.c

index cc8553177977d4a756f7f6e3b5cc1a796e0fe479..3deaa57bb3f539ca37bafba48761cd4cf96ba62c 100644 (file)
@@ -1581,10 +1581,11 @@ static int bmp380_chip_config(struct bmp280_data *data)
                }
                /*
                 * Waits for measurement before checking configuration error
-                * flag. Selected longest measure time indicated in
-                * section 3.9.1 in the datasheet.
+                * flag. Selected longest measurement time, calculated from
+                * formula in datasheet section 3.9.2 with an offset of ~+15%
+                * as it seen as well in table 3.9.1.
                 */
-               msleep(80);
+               msleep(150);
 
                /* Check config error flag */
                ret = regmap_read(data->regmap, BMP380_REG_ERROR, &tmp);