On Tue, 11 Dec 2018 13:12:06 -0600
Dan Murphy <[email protected]> wrote:

> Per Jonathan Cameron, the buffer needs to allocate room for a
> 64 bit timestamp as well as the channels.  Change the buffer
> to allocate this additional space.
> 
> Signed-off-by: Dan Murphy <[email protected]>
Same question around data types as in the previous patch.

If you can track down the original patch that introduced the bug and add
add a fixes tag, that would be great as well.  This one should go into
stable.

Thanks,

Jonathan
> ---
> 
> v2 - New patch suggested change by maintainer - 
> https://lore.kernel.org/patchwork/patch/1021048/
> 
>  drivers/iio/adc/ti-ads8688.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/iio/adc/ti-ads8688.c b/drivers/iio/adc/ti-ads8688.c
> index 184d686ebd99..3597bc0697ee 100644
> --- a/drivers/iio/adc/ti-ads8688.c
> +++ b/drivers/iio/adc/ti-ads8688.c
> @@ -385,7 +385,7 @@ static irqreturn_t ads8688_trigger_handler(int irq, void 
> *p)
>  {
>       struct iio_poll_func *pf = p;
>       struct iio_dev *indio_dev = pf->indio_dev;
> -     u16 buffer[8];
> +     unsigned short buffer[8 + sizeof(s64)/sizeof(short)];
Why change from a well defined size of data to one that is only
defined by the c spec to be no more than the size of an int?

>       int i, j = 0;
>  
>       for (i = 0; i < indio_dev->masklength; i++) {

Reply via email to