]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
staging: iio: ad5933: Correct settling cycles encoding per datasheet
authorGabriel Shahrouzi <gshahrouzi@gmail.com>
Sun, 20 Apr 2025 01:30:09 +0000 (21:30 -0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 27 Jun 2025 10:07:30 +0000 (11:07 +0100)
commit 60638e2a2d4bc03798f00d5ab65ce9b83cb8b03b upstream.

The AD5933 datasheet (Table 13) lists the maximum cycles to be 0x7FC
(2044).

Clamp the user input to the maximum effective value of 0x7FC cycles.

Fixes: f94aa354d676 ("iio: impedance-analyzer: New driver for AD5933/4 Impedance Converter, Network Analyzer")
Cc: stable@vger.kernel.org
Signed-off-by: Gabriel Shahrouzi <gshahrouzi@gmail.com>
Reviewed-by: Marcelo Schmitt <marcelo.schmitt1@gmail.com>
Link: https://patch.msgid.link/20250420013009.847851-1-gshahrouzi@gmail.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/iio/impedance-analyzer/ad5933.c

index ceba632138940fdf8aa0f9dd3f9357d6b95bc50a..350abab43b66381e07590d6cb2d0c411e2c6f1a6 100644 (file)
@@ -412,7 +412,7 @@ static ssize_t ad5933_store(struct device *dev,
                ret = ad5933_cmd(st, 0);
                break;
        case AD5933_OUT_SETTLING_CYCLES:
-               val = clamp(val, (u16)0, (u16)0x7FF);
+               val = clamp(val, (u16)0, (u16)0x7FC);
                st->settling_cycles = val;
 
                /* 2x, 4x handling, see datasheet */