* Andreas Kemnade <andreas@xxxxxxxxxxxx> [190222 17:09]: > Tony Lindgren <tony@xxxxxxxxxxx> wrote: > > It's probaby some twl related code is (wrongly) trying to read/write > > registers at noirq suspend level. Sounds like some driver tagged with > > noirq suspend ops while it should not. > > > static irqreturn_t handle_twl4030_pih(int irq, void *devid) > in > drivers/mfd/twl4030-irq.c > is doing the failed i2c access. I wonder if tagging drivers/mfd/twl4030-irq.c request_threaded_irq with IRQF_NO_SUSPEND in addition to IRQF_ONESHOT might help if this triggers right after resume_device_irqs()? Or do we already have IRQF_NO_SUSPEND set and some interrupt like USB battery charging is triggering during suspend? The sys_nirq interrupt can trigger at any point for sure. But we can't access the i2c registers until the system is back up again. Regards, Tony