Re: [PATCH] iio: trigger: Return an error when the trigger has no free irq

From: Jonathan Cameron

Date: Sun Oct 18 2026 - 18:37:50 EST


On Tue, 6 Oct 2026 08:43:52 +0200
Joshua Crofts <joshua.crofts1@xxxxxxxxx> wrote:

> On Tue, 6 Oct 2026 05:41:47 +0200
> Karl Mehltretter <kmehltretter@xxxxxxxxx> wrote:
>
> > iio_trigger_attach_poll_func() prints an error when all
> > CONFIG_IIO_CONSUMERS_PER_TRIGGER irqs of the trigger are in use, but
> > returns 0. The buffer of the extra consumer is enabled without a poll
> > function.
> >
> > Disabling that buffer calls clear_bit() with a negative bit number and
> > drops a module reference for the second time. On arm and arm64 the
> > clear_bit() goes about 512 MB past the pool bitmap. That is an oops if
> > the address is not mapped, and a bit cleared in unrelated memory if it
> > is.
> >
> > Return the error from iio_trigger_get_irq().
> >
> > Fixes: 995438233579 ("iio: Fix error handling in iio_trigger_attach_poll_func")
> > Cc: stable@xxxxxxxxxxxxxxx
> > Assisted-by: LLM
> > Signed-off-by: Karl Mehltretter <kmehltretter@xxxxxxxxx>
> > ---
>
> A 10 year old bug. Nice find!
>
> Reviewed-by: Joshua Crofts <joshua.crofts1@xxxxxxxxx>
>
Applied to the fixes-togreg branch of iio.git. Thanks,

Jonathan