> > +static irqreturn_t max11410_trigger_handler(int irq, void *p) > > +{ > > + struct iio_poll_func *pf = p; > > + struct iio_dev *indio_dev = pf->indio_dev; > > + struct max11410_state *st = iio_priv(indio_dev); > > + struct { > > + int data; > > + s64 ts __aligned(8); > > + } scan = {0}; > > Why do you need an assignment here? > Even memcpy() in IRQ context is a burden. Because the buffer gets populated with meaningless data in the absence of assignment due to timestamp alignment. I've removed the assignment and addressed your other comments and sent a new series of patches. Best regards, Ibrahim Tilki