On Tue, 11 Dec 2018 13:12:06 -0600 Dan Murphy <dmurphy@xxxxxx> 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 <dmurphy@xxxxxx> 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++) {