On Fri, 24 Apr 2026 10:20:43 +0100 Rodrigo Alencar <[email protected]> wrote:
> On 26/04/23 07:27PM, Jonathan Cameron wrote: > > On Wed, 22 Apr 2026 15:45:55 +0100 > > Rodrigo Alencar via B4 Relay > > <[email protected]> wrote: > > ... > > > > +static irqreturn_t ad5686_trigger_handler(int irq, void *p) > > > +{ > > > + struct iio_poll_func *pf = p; > > > + struct iio_dev *indio_dev = pf->indio_dev; > > > + struct iio_buffer *buffer = indio_dev->buffer; > > > + struct ad5686_state *st = iio_priv(indio_dev); > > > + const struct iio_chan_spec *chan; > > > + u16 val[AD5686_MAX_CHANNELS]; > > > > I may be wrong but I suspect the static analysers won't like the > > fact that only part of this is initialised and they can't > > tell how much of it is then used. We might need some sanity checks > > to keep them happy even though we know they will always be fine > > (branch predictors should quickly make them near cost free). > > will just add = { } to end, so it get initialized to zero: > > u16 val[AD5686_MAX_CHANNELS] = { }; > > > > + int ret, ch, i = 0; > > > + bool async_update; > > > + u8 cmd; > > > + > > > + ret = iio_pop_from_buffer(buffer, val); > > At somepoint we should probably add a sanity check on buffer size to that. > > nothing to be done here then, I suppose that should be an API-level change > for iio_pop_from_buffer(). > Exactly. One for another day :) J > > > + if (ret) > > > + goto out; >

