On 04/18/2012 09:22 AM, Alan Stern wrote: > On Tue, 17 Apr 2012, Stephen Warren wrote: ... > In other words, if both the root hub and the controller are powered > down, then neither one wakes up when a device is plugged in? > >> I assume this a bug in the Tegra EHCI driver's suspend implementation? > > Actually it sounds like a bug in the controller's wakeup mechanism. > Maybe a hardware bug, maybe a software bug. > > While looking through the code, I didn't notice anything about enabling > wakeups. But I wasn't looking very carefully, because I don't know how > the Tegra platform works. A quick search through the patch now seems > to show that wakeups never get enabled at all! I looked at our downstream ehci-tegra.c, and there's a lot more code there for suspend/resume, wakeup, and a bunch of other stuff. Given that, I'm not too surprised that the upstream driver isn't resuming from suspend as expected. I think we can still apply your patch if you want, but we additionally need to make CONFIG_USB_EHCI_TEGRA depend on !CONFIG_USB_SUSPEND, which will ensure nobody gets surprised by this fails-to-resume issue. Does that seem reasonable? I don't think this will have any user-impact, since (a) the controllers weren't suspending before this patch, and (b) neither CONFIG_USB_SUSPEND nor CONFIG_PM_RUNTIME were enabled in tegra_defconfig (although in 3.5 we'll enable CONFIG_PM_RUNTIME). Those responsible for ehci-tegra.c in our downstream kernels are supposed to be working on a plan to upstream the missing parts. When that comes to fruition, we should be able to remove that Kconfig restriction. I'm afraid I don't have an ETA for when that will be though. -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html