Skip to contentSkip to conversation

iio: chemical: bme680: Fix measurement wait duration calculation

PATCH Superseded Chris Spencer 2 participants 4 messages Feb 4 – Feb 5 IIO

v2 of 3 Superseded Latest is v3 →

lore
Share & tools
lore
#0 lore raw

PATCH v2 1/1 iio: chemical: bme680: Fix measurement wait duration calculation

This function refers to the Bosch BME680 API as the source of the calculation, but one of the constants does not match the Bosch implementation. This appears to be a simple transposition of two digits, resulting in a wait time that is too short. This can cause the following 'device measurement cycle incomplete' check to occasionally fail.

Fixes 4241665e6ea0 ("iio: chemical: bme680: Fix sensor data read operation")

---
v2: add Acked-by: Vasileios

---
 drivers/iio/chemical/bme680_core.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/iio/chemical/bme680_core.c +1 -1
index 70f81c4a96ba..24e0b59e2fdf 100644
@@ -613,7 +613,7 @@ static int bme680_wait_for_eoc(struct bme680_data *data)
 	 * + heater duration
 	 */
 	int wait_eoc_us = ((data->oversampling_temp + data->oversampling_press +
-			   data->oversampling_humid) * 1936) + (477 * 4) +
+			   data->oversampling_humid) * 1963) + (477 * 4) +
 			   (477 * 5) + 1000 + (data->heater_dur * 1000);
 
 	fsleep(wait_eoc_us);
Signature · 1 line
2.43.0
#1 lore raw

…

Quoted 2 lines

resulting in a wait time that is too short. This can cause the following 'device measurement cycle incomplete' check to occasionally fail.

* Were any source code analysis tools involved here?

* See also once more:
+ https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/process/submitting-patches.rst?h=v6.19-rc8#n94

+ https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/process/stable-kernel-rules.rst?h=v6.19-rc8#n34

Regards,
Markus

#2 lore raw

Hi Markus,

Quoted 6 lines · Markus Elfring

…

Quoted 2 lines

resulting in a wait time that is too short. This can cause the following 'device measurement cycle incomplete' check to occasionally fail.

* Were any source code analysis tools involved here?

No. I identified this issue myself while investigating the aforementioned 'device measurement cycle incomplete' error by manually comparing the kernel implementation against the linked Bosch implementation.

Quoted 2 lines

* See also once more:
+ https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/process/submitting-patches.rst?h=v6.19-rc8#n94

Can you please clarify what is wrong with the commit message? I have used the imperative mood in the subject, but the rest of the message is simply background information. How would you suggest rewording this?

Quoted 1 line

+ https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/process/stable-kernel-rules.rst?h=v6.19-rc8#n34

Ok I will CC stable in the next revision.

Thanks,
Chris

#3 lore raw
Quoted 7 lines
Quoted 2 lines

* See also once more:
+ https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/process/submitting-patches.rst?h=v6.19-rc8#n94

Can you please clarify what is wrong with the commit message? I have used the imperative mood in the subject, but the rest of the message is simply background information. How would you suggest rewording this?

I propose to mention another action in the change description.

Possible wording:
Thus adjust an inappropriate value.

Regards,
Markus