On 04/12/2012 12:45 PM, Alan Stern wrote: > On Thu, 12 Apr 2012, Stephen Warren wrote: > >> On 04/12/2012 12:07 PM, Alan Stern wrote: >>> Benoit or anyone else: >>> >>> Right now the ehci-tegra driver powers down the EHCI controller during >>> bus suspend, if the appropriate parameter is set. This is not the >>> right thing to do, and it will break under some newly added changes to >>> the USB core. >>> >>> Instead, the driver should leave the controller powered up during bus >>> suspend, and power it down during controller suspend. Below is a patch >>> that attempts to do this. >>> >>> I have no way to test this patch; I haven't even compiled it. Please >>> see if it works okay, or if it needs to be fixed at all. >> >> I can test this. How would I trigger the bus conditions this patch >> affects? Note that we don't have system suspend on Tegra yet. > > If you do: > > echo auto >/sys/devices/.../power/control > > (where the ... gets filled in with the path to the EHCI controller), > then the controller should automatically get powered down whenever the > bus does. The bus will get powered down whenever no USB devices are > plugged in (or the only attached USB devices are things like hubs that > will themselves get suspended) after a 2-second delay. One small issue with the patch: There are two copies of tegra_ehci_resume(). I assume the second should be renamed tegra_ehci_runtime_resume(). I've tested the patch, and can unplug a USB device, wait 10 seconds, then plug it back in, and everything works as expected. However, I don't notice /sys/devices/.../power/runtime_status ever saying anything other than active, and I can't cat autosuspend_delay_ms, so I assume I'm still not triggering the path you want me to test. I do have PM_RUNTIME turned on. Any ideas? Do I need some patch to the USB core to enable this? I tested on next-20120413 plus a few local patches. -- To unsubscribe from this list: send the line "unsubscribe linux-tegra" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html