On Thu, Jul 5, 2012 at 4:00 PM, Rafael J. Wysocki <rjw@xxxxxxx> wrote: > On Thursday, July 05, 2012, Alan Stern wrote: >> On Thu, 5 Jul 2012, Bjorn Helgaas wrote: >> >> > I wish we knew more about what's really going on here. I looked >> > through the bug reports AceLan dug up, and I don't get the feeling >> > that anybody really has a grand unified theory about why Windows works >> > but Linux doesn't. But I'm willing to apply one of these patches if >> > you and/or Alan sign off on it. >> >> His description seems to make sense, even if it may not be complete. >> >> Windows sets the COMMAND register to 0 before suspending, so it doesn't >> trigger the BIOS bus. Linux doesn't, so the BIOS tries to quiesce the >> EHCI controller. This involves doing various MMIO accesses, which of >> course don't work if the controller is already in D3. Should we clear the COMMAND register for more than just EHCI devices? It seems like known differences from Windows are just waiting to bite us. I like your patch and explanation for how this can cause a hang... that helps make sense of things. >> For obvious reasons, I'm in favor of my two-line change over AceLan's >> new PCI quirk. So far there have been positive responses from a few >> volunteers testing the patch. > > The two-liner is good enough, I think, and tested. We can always add a quirk > based on it in the future. Cool, do you want to send me a patch with Signed-off-by, etc? -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html