* Andreas Kemnade <andreas@xxxxxxxxxxxx> [190221 19:40]: > On Thu, 21 Feb 2019 08:48:03 -0800 > Tony Lindgren <tony@xxxxxxxxxxx> wrote: > > > * Andreas Kemnade <andreas@xxxxxxxxxxxx> [190221 16:43]: > > > Hi, > > > > > > On Wed, 20 Feb 2019 14:31:32 -0800 > > > Tony Lindgren <tony@xxxxxxxxxxx> wrote: > > > > > > > * Andreas Kemnade <andreas@xxxxxxxxxxxx> [180922 09:48]: > > > > > When runtime is not enabled, pm_runtime_get_sync() returns -EACCESS, > > > > > the counter will be incremented but the resume callback not called, > > > > > so enumeration and charging will not start properly. > > > > > To avoid that happen, disable irq on suspend and recheck on resume. > > > > > > > > > > Practically this happens when the device is woken up from suspend by > > > > > plugging in usb. > > > > > > > > > > Signed-off-by: Andreas Kemnade <andreas@xxxxxxxxxxxx> > > > > > --- > > > > > Changes in v2: > > > > > * use pm suspend/resume callback instead of delayed_work > > > > > as suggested by Dmitry > > > > > > > > Hmm it just occurred to me that this issue too might be fixed with commit > > > > c6e2bd956936 ("i2c: omap: Use noirq system sleep pm ops to idle device > > > > for suspend"). Andreas, care to check? That is if this is still an > > > > issue. > > > > > > > this one made already its way into 4.20. But for the records, I will > > > build the latest 5.0-rc and revert it and will check if the problem > > > still occurs. > > > > OK thanks. > > > first of all, suspend is totally broken in v5.0-rc7. > I booted with init=/bin/bash > and just loaded gpio-twl4030 and twl4030-pwrbutton > > and did (rtc in compiled in) a > root@(none):/# rtcwake -s 10 -m mem > rtcwake: wakeup from "mem" using /dev/rtc0 at Sat Jan 1 00:05:24 2000 > [ 86.434722] PM: suspend entry (deep) > [ 86.438842] PM: Syncing filesystems ... done. > [ 86.458770] Freezing user space processes ... (elapsed 0.003 seconds) done. > [ 86.470947] OOM killer disabled. > [ 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 > > and this goes on forever. > I will try to bisect that. Strange, I'm not seeing that here. Anyways let's debug more in your bisect email thread. Thanks, Tony