Thread (24 messages) 24 messages, 4 authors, 2025-07-02

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);
  
  
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help