On Sun, 3 May 2020 20:01:56 +0200 Nuno Sá <noname.nuno@xxxxxxxxx> wrote: > On Sun, 2020-05-03 at 18:22 +0100, jic23@xxxxxxxxxx wrote: > > From: Jonathan Cameron <Jonathan.Cameron@xxxxxxxxxx> > > > > iio_push_to_buffers_with_timestamp assumes 8 byte alignment which > > is not guaranteed by an array of 8 __be16. > > > > Reported-by: Lars-Peter Clausen <lars@xxxxxxxxxx> > > Signed-off-by: Jonathan Cameron <Jonathan.Cameron@xxxxxxxxxx> > > --- > > drivers/iio/accel/kxsd9.c | 12 +++++++----- > > 1 file changed, 7 insertions(+), 5 deletions(-) > > > > diff --git a/drivers/iio/accel/kxsd9.c b/drivers/iio/accel/kxsd9.c > > index 0b876b2dc5bd..4c42d1200914 100644 > > --- a/drivers/iio/accel/kxsd9.c > > +++ b/drivers/iio/accel/kxsd9.c > > @@ -209,14 +209,16 @@ static irqreturn_t kxsd9_trigger_handler(int > > irq, void *p) > > const struct iio_poll_func *pf = p; > > struct iio_dev *indio_dev = pf->indio_dev; > > struct kxsd9_state *st = iio_priv(indio_dev); > > + struct { > > + __be16 chan[4]; > > + u64 ts; > > + } hw_values; > > A nitpick from my side. Maybe a comment woudn't be that noisy. It might > be not that obvious for some people why this construct is needed and it > might prevent new driver's from doing the same mistake. Good point. I'll add something like /* Ensure correct positioning and alignment of timestamp */ above the struct definition. > > - Nuno Sá > >