Re: [PATCH] mfd: twl-core: disable irq while suspended

From: Tony Lindgren
Date: Sat Feb 23 2019 - 13:23:34 EST


* Andreas Kemnade <andreas@xxxxxxxxxxxx> [190223 11:48]:
> 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.

Thanks for fixing this, still works fine for me for rtcwake:

Tested-by: Tony Lindgren <tony@xxxxxxxxxxx>