Re: [PATCH v2 01/11] iio: adc: ad_sigma_delta: don't overallocate scan buffer
From: Jonathan Cameron <jic23@kernel.org>
Date: 2025-06-28 15:04:12
Also in:
linux-iio, linux-spi, lkml
On Sat, 28 Jun 2025 15:55:21 +0100 Jonathan Cameron [off-list ref] wrote:
On Fri, 27 Jun 2025 18:39:57 -0500 David Lechner [off-list ref] wrote:quoted
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> --- drivers/iio/adc/ad_sigma_delta.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)diff --git a/drivers/iio/adc/ad_sigma_delta.c b/drivers/iio/adc/ad_sigma_delta.c index 4c5f8d29a559fea7226b84141bcb148fb801f62c..6b3ef7ef403e00804abeb81025ed293b188e492b 100644 --- a/drivers/iio/adc/ad_sigma_delta.c +++ b/drivers/iio/adc/ad_sigma_delta.c@@ -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);Seems like a good place for BITS_TO_BYTES() from bitops.h. Given we have another 8 kicking around in the same code line it might be a tiny bit confusing as / 8 If everything else is good I'll tweak this whilst applying (and add the include if needed).
Found it in patch 4. No problem doing it there. 'Maybe' a hint in the description would have been a nice to have, but not particularly important.
quoted
samples_buf_size += sizeof(int64_t); samples_buf = devm_krealloc(&sigma_delta->spi->dev, sigma_delta->samples_buf, samples_buf_size, GFP_KERNEL);