Re: [PATCH v2] phy: phy-twl4030-usb: fix denied runtime access
From: Andreas Kemnade
Date: Thu Feb 21 2019 - 14:40:10 EST
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.
Description: OpenPGP digital signature