]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
iio: adc: ad_sigma_delta: don't overallocate scan buffer
authorDavid Lechner <dlechner@baylibre.com>
Tue, 1 Jul 2025 21:37:49 +0000 (16:37 -0500)
committerJonathan Cameron <Jonathan.Cameron@huawei.com>
Sun, 13 Jul 2025 14:36:24 +0000 (15:36 +0100)
Fix overallocating the size of the scan buffer by converting bits to
bytes. The size is meant to be in bytes, so scanbits needs to be
divided by 8.

Signed-off-by: David Lechner <dlechner@baylibre.com>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Reviewed-by: Nuno Sá <nuno.sa@analog.com>
Link: https://patch.msgid.link/20250701-iio-adc-ad7173-add-spi-offload-support-v3-1-42abb83e3dac@baylibre.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
drivers/iio/adc/ad_sigma_delta.c

index 4c5f8d29a559fea7226b84141bcb148fb801f62c..6b3ef7ef403e00804abeb81025ed293b188e492b 100644 (file)
@@ -489,7 +489,7 @@ static int ad_sd_buffer_postenable(struct iio_dev *indio_dev)
                        return ret;
        }
 
-       samples_buf_size = ALIGN(slot * indio_dev->channels[0].scan_type.storagebits, 8);
+       samples_buf_size = ALIGN(slot * indio_dev->channels[0].scan_type.storagebits / 8, 8);
        samples_buf_size += sizeof(int64_t);
        samples_buf = devm_krealloc(&sigma_delta->spi->dev, sigma_delta->samples_buf,
                                    samples_buf_size, GFP_KERNEL);