On Sat, 23 Feb 2019, Andreas Kemnade wrote: > Since commit > 6e2bd956936 ("i2c: omap: Use noirq system sleep pm ops to idle device for suspend") > on gta04 we have handle_twl4030_pih() called in situations where pm_runtime_get() > in i2c-omap.c returns -EACCES. > [ 86.474365] Freezing remaining freezable tasks ... (elapsed 0.002 seconds) done. > [ 86.485473] printk: Suspending console(s) (use no_console_suspend to debug) > [ 86.555572] Disabling non-boot CPUs ... > [ 86.555664] Successfully put all powerdomains to target state > [ 86.563720] twl: Read failed (mod 1, reg 0x01 count 1) > [ 86.563751] twl4030: I2C error -13 reading PIH ISR > [ 86.563812] twl: Read failed (mod 1, reg 0x01 count 1) > [ 86.563812] twl4030: I2C error -13 reading PIH ISR > [ 86.563873] twl: Read failed (mod 1, reg 0x01 count 1) > [ 86.563903] twl4030: I2C error -13 reading PIH ISR > > This happens when we wakeup via something behing twl4030 > (powerbutton or rtc alarm). > This goes on for minutes until the system is finally resumed. > Disable the irq on suspend and enable it on resume to avoid > having i2c access problems when the irq registers are checked. > > Signed-off-by: Andreas Kemnade <andreas@xxxxxxxxxxxx> > --- > drivers/mfd/twl-core.c | 23 +++++++++++++++++++++++ > 1 file changed, 23 insertions(+) Applied, thanks. -- Lee Jones [李琼斯] Linaro Services Technical Lead Linaro.org │ Open source software for ARM SoCs Follow Linaro: Facebook | Twitter | Blog