Re: [PATCH] usb: host: ehci: workaround PME bug on AMD EHCI controller

From: Bjorn Helgaas
Date: Mon Jun 19 2017 - 13:45:47 EST

On Mon, Jun 19, 2017 at 11:30:18AM +0800, Kai-Heng Feng wrote:
> On Sat, Jun 17, 2017 at 1:30 AM, Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> wrote:
> > On Sat, 17 Jun 2017, Kai-Heng Feng wrote:
> >
> >> On Fri, Jun 16, 2017 at 11:07 AM, Kai-Heng Feng
> >> <kai.heng.feng@xxxxxxxxxxxxx> wrote:
> >> > On Thu, Jun 15, 2017 at 10:12 PM, Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> wrote:
> >> >> Those documents refer to a hardware bug with a workaround in the BIOS.
> >> >> Have you checked to see if your BIOS is up to date?
> >> >
> >> > Yes, it's up to date.
> >> >
> >>
> >> Alan, I re-sent a patch but I forgot to add you to CC list:
> >>
> >
> > Thanks for letting me know. The patch seems reasonable.
> >
> > Have you tested it with system suspend? That is, if you suspend the
> > whole computer, does plugging or unplugging a USB device cause the
> > system to wake up?
> No, the system will not wake up when plugging or unplugging.
> Tried several times, nether runtime PM enabled nor runtime PM disabled
> will wake up the system under S3, when (un)plugging USB devices.

Alan, I don't know what this test means for the patch

pci_target_state() is documented as "return the deepest state from
which the device can generate wake events." For this device, I guess
that means D2, and the patch should accomplish that.

I don't know what's supposed to happen to this device when the system
is in S3. I assume that if the system is in S3, most devices are in
D3. If this device is in D3, we won't get PMEs, which I guess is what
Kai-Heng is seeing. Is that the desired behavior? Or do we want the
PMEs enough that we should leave the device in D2 (if that's even