]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
iio: adc: ti-ads1298: Fix incorrect timeout comment
authorMd Shofiqul Islam <shofiqtest@gmail.com>
Sun, 10 May 2026 19:34:35 +0000 (22:34 +0300)
committerJonathan Cameron <jic23@kernel.org>
Sun, 31 May 2026 09:59:38 +0000 (10:59 +0100)
At the lowest supported data rate of 250Hz, one conversion period is
4ms, not 40ms. The 50ms timeout is deliberately conservative to allow
for kernel scheduling latency, which can be significant under load or
on slow machines.

Fix the comment to state the correct conversion time, use "lowest sample
rate" for clarity, and explain that the extra margin exists to absorb
scheduling latency so that no one is tempted to shrink the timeout to
match the conversion period.

Also drop the redundant ret variable assignment by using the return value
of wait_for_completion_timeout() directly in the if() condition.

Signed-off-by: Md Shofiqul Islam <shofiqtest@gmail.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
drivers/iio/adc/ti-ads1298.c

index ae30b47e451426539b1b0afc4d92b30ed754b7b9..25261163d3e25e5650c31391749af27d33bf1db1 100644 (file)
@@ -210,9 +210,11 @@ static int ads1298_read_one(struct ads1298_private *priv, int chan_index)
                return ret;
        }
 
-       /* Cannot take longer than 40ms (250Hz) */
-       ret = wait_for_completion_timeout(&priv->completion, msecs_to_jiffies(50));
-       if (!ret)
+       /*
+        * One conversion takes at most 4ms at the lowest sample rate (250Hz).
+        * Use 50ms to allow for kernel scheduling latency.
+        */
+       if (!wait_for_completion_timeout(&priv->completion, msecs_to_jiffies(50)))
                return -ETIMEDOUT;
 
        return 0;