iio: filter: admv8818: fix integer overflow
authorSam Winchenbach <swinchenbach@arka.org>
Fri, 28 Mar 2025 17:48:28 +0000 (13:48 -0400)
committerJonathan Cameron <Jonathan.Cameron@huawei.com>
Tue, 22 Apr 2025 18:09:52 +0000 (19:09 +0100)
HZ_PER_MHZ is only unsigned long. This math overflows, leading to
incorrect results.

Fixes: f34fe888ad05 ("iio:filter:admv8818: add support for ADMV8818")
Signed-off-by: Sam Winchenbach <swinchenbach@arka.org>
Link: https://patch.msgid.link/20250328174831.227202-4-sam.winchenbach@framepointer.org
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
drivers/iio/filter/admv8818.c

index 3d8740c..cd3aff9 100644 (file)
@@ -154,7 +154,7 @@ static int __admv8818_hpf_select(struct admv8818_state *st, u64 freq)
        }
 
        /* Close HPF frequency gap between 12 and 12.5 GHz */
-       if (freq >= 12000 * HZ_PER_MHZ && freq <= 12500 * HZ_PER_MHZ) {
+       if (freq >= 12000ULL * HZ_PER_MHZ && freq < 12500ULL * HZ_PER_MHZ) {
                hpf_band = 3;
                hpf_step = 15;
        }