Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> writes: > On 2020-08-13 11:46:30 [+0200], Lars-Peter Clausen wrote: >> If you are running with forced IRQ threads the only thing that will then >> happen in the actual hard IRQ context is the launching of the IRQ threads. >> Th e IRQ handler of the device driver will run in a threaded IRQ. > > So if it is really just the wakeup of the IRQ-thread then it should be > okay. > One thing: iio_trigger_poll() may invoke iio_trigger_notify_done(). This > would invoke trig->ops->try_reenable callback if available. > I grepped and found > - bma180_trig_try_reen() > It appears to perform i2c_smbus_read_byte_data() and smbus sounds > sleeping. I don't know if it attempts to acquire any spinlock_t but it > will be wrong on RT. It's wrong even on !RT. i2c reads cannot be invoked from hard interrupt context.