On Mon, 27 Jul 2020 16:57:13 +0200 Christian Eggers <ceggers@xxxxxxx> wrote: > iio_trigger_poll() calls generic_handle_irq(). This function expects to > be run with local IRQs disabled. Was there an error or warning that lead to this patch? Or can you point to what call in generic_handle_irq is making the assumption that we are breaking? Given this is using the irq_work framework I'm wondering if this is a more general problem? Basically more info please! Thanks, Jonathan > > Signed-off-by: Christian Eggers <ceggers@xxxxxxx> > Cc: stable@xxxxxxxxxxxxxxx > --- > drivers/iio/trigger/iio-trig-sysfs.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/drivers/iio/trigger/iio-trig-sysfs.c b/drivers/iio/trigger/iio-trig-sysfs.c > index e09e58072872..66a96b1632f8 100644 > --- a/drivers/iio/trigger/iio-trig-sysfs.c > +++ b/drivers/iio/trigger/iio-trig-sysfs.c > @@ -94,7 +94,9 @@ static void iio_sysfs_trigger_work(struct irq_work *work) > struct iio_sysfs_trig *trig = container_of(work, struct iio_sysfs_trig, > work); > > + local_irq_disable(); > iio_trigger_poll(trig->trig); > + local_irq_enable(); > } > > static ssize_t iio_sysfs_trigger_poll(struct device *dev,